精华内容
下载资源
问答
  • 设计采集板的目标设计基于STC8G8K64U单片机的高速ADC采样板,可以为普通的电路实验提供快速波形采样的模块。该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给...

    设计采集板的目标

    设计基于STC8G8K64U单片机的高速ADC采样板,可以为普通的电路实验提供快速波形采样的模块。

    该模块也可以应用于全国大学生智能车竞赛声音信标组数据采集实验中,作为向同学们介绍的解决方案,明天给出相应实验结果。

    设计采样板的技术指标:

    1. 采样频率:10kHz;
    2. 采样通道:2通道
    3. 采样信号:0~5V,数据位12bit。
    4. 外部数据接口:(1)UART2通过USR-WiFi接口发送到局部无线网;(2)通过串口UART1通过调试器将数据发送到调试界面;

    电路板设计

    1. 原理图设计

    7ed74f2a74e54aa23794d8a2089d2589.png

    ▲ 原理图设计

    对外接口定义:

    「(1)ISP端口:」

    序号管脚名称功能1VCC+5V电源2GND电源地线3TXD连接UART1-TXD4RXD连接UART1-RXD

    「(2)ADC端口:」

    序号管脚名称功能1ADC0模拟输入端口02ADC1模拟输入端口13ADC2模拟输入端口24GND信号底线

    「(3)WiFI UART接口:」详见电路原理图的PCB的管脚定义。

    2. PCB版图设计

    9fb307d10298581d09e1c82e9acd0b32.png

    ▲ PCB板图设计

    5440862468182a6277aaf73084512295.png

    ▲ 焊接之后的电路板

    139f1f9f9552d1a30a57c2d9be43353f.png

    ▲ 安装有WiFi-UART模块后的电路板

    3. 电路软件调试

    「(1)单片机的硬件配置:」

    由于配置STC8H8K工作在48MHz,提高单片机运行速度。

    44172e37b34784ed619cf006dc2086b3.png

    ▲ 单片机硬件配置

    「(2)串口波特率配置:」

    1. UART1:配置波特率115200 ,这与下载器上的PL2303可以使用的波特率相匹配;
    2. UART2::配置的波特率为460800,这与WiFi-UART
    5f11421d6465d2c858065ff7faaa0fa8.gif

    ▲ 硬件连接调试

    「(3)配置WiFI-UART:」

    STEP1:使用手机,或者平板电脑,选择USR-WIFI232-T-191无线网关,登录 10.10.100.254地址。在登录界面输入用户名和密码都是「admin」

    2ed85faaac9f75eef407a60463ff4c34.png

    ▲ 无线登录界面

    STEP2:按照下面的设置,设置WIFI-UART模块的工作参数。

    「STA设置:」

    fd6b7e59fe147036646624e40dfc497c.png

    ▲ STA设置

    「AP设置:」

    7ea053b9c8d61a3965b9a945379591f1.png

    ▲ AP设置

    「网络设置:」

    fc6ed02a6e6957e3d1a672209bc0e041.png

    ▲ 网络设置

    「串口设置:」

    fa518eb0e7f2cc7f4149717649c224e9.png

    ▲ 串口设置

    「设置后的系统信息:」

    2be27262d8677cf99a970dff20aaa95a.png

    ▲ 设置后的系统信息

    4. 软件命令

    模块通过UART1(115200),UART2(460800)接收字符命令,分别输出采集的结果以及重新开始新的采集过程。具体的功能可以参见下面一段程序:

        if(strcmp("hello",                (char *)STD_ARG[0]) * 0)        printf("%s is ready !", VERSION_STRING);    else IFARG0("adc") {        g_nADBufferPoint = 0;                TIME3_INT_ENABLE;            }    else IFARG0("buf") {        sscanf(SDA(1), "%d", &nStart);        sscanf(SDA(2), "%d", &nLength);                nCheck = 0;        for(i = 0; i > 8));            UART2SendChar((unsigned char)(nNumber & 0xff));            nCheck += nNumber;        }                } else IFARG0("sf") {        SendChar(0x0);        for(i = 0; i 

    5. PYTHON获取数据程序

    过PYTHON编程,可以从WiFi获取采集板的8k数据。

    具体的程序可以在CSDN对应的博文中看到。

    模块测试性能

    1. 数据传送时间

    通过WiFi-UAR收到4096(8192 bytes)数据为0.489s左右。

    下图是对两路正弦波采集到的数据波形:

    bcaa87d93405484348844b28523c710c.gif

    ▲ 两个通道采集的波形


    本头条搭建一个交流平台,欢迎各位也分享你的行业认知,技术分享,经验之谈,欢迎留言投稿!

    1350863e2bf19d05036e7c9c18b35a8a.png
    展开全文
  • 2.画出采样后的语音信号的时域波形和频谱图; 3.给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器, 并划出滤波器的频域响应; 4.用该滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱, 并...

    题目要求:
    1.录制一段自己的语音信号,并对录制的信号进行采样;
    2.画出采样后的语音信号的时域波形和频谱图;
    3.给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,
    并划出滤波器的频域响应;
    4.用该滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,
    并对滤波前后的信号进行对比,分析信号的变化;
    5.回放语音信号;
    6.设计一个信号处理系统界面。
    报告要求:
    根据自己录制的语音信号选择合适的滤波器,并按照题目要求完成报告

    程序1:用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱

    %语音信号采样频率为22050
    x1=wavread(‘f:/s1.wav’); %读取语音信号的数据,赋给变量x1

    fs=22050;
    sound(x1,22050); %播放语音信号
    y1=fft(x1,1024); %对信号做1024点FFT变换
    f=fs*(0:511)/1024;
    figure(1)
    plot(x1) %做原始语音信号的时域图形
    title(‘原始语音信号’);
    xlabel(‘time n’);
    ylabel(‘fuzhi n’);
    figure(2)
    freqz(x1) %绘制原始语音信号的频率响应图
    title(‘频率响应图’)
    figure(3)
    subplot(2,1,1);
    plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图
    title(‘原始语音信号FFT频谱’)
    subplot(2,1,2);
    plot(f,abs(y1(1:512)));
    title(‘原始语音信号频谱’)
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);

    程序2:给原始的语音信号加上一个高频余弦噪声,频率为5kHz。画出加噪后的语音信号时域和频谱图,与原始信号对比,可以很明显的看出区别。

    x1=wavread(‘f:/s1.wav’);
    fs=22050;
    f=fs*(0:511)/1024;
    t=0:1/22050:(size(x1)-1)/22050;
    Au=0.03;
    d=[Aucos(2pi5000t)]’;
    x2=x1+d;
    sound(x2,22050)%播放加噪声后的语音信号
    y2=fft(x2,1024);
    figure(1)
    plot(t,x2)
    title(‘加噪后的信号’);
    xlabel(‘time n’);
    ylabel(‘fuzhi n’);
    figure(2)
    subplot(2,1,1);
    plot(f,abs(y1(1:512)));
    title(‘原始语音信号频谱’);
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);
    subplot(2,1,2);
    plot(f,abs(y2(1:512)));
    title(‘加噪后的信号频谱’);
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);

    程序3:双线性变换法设计Butterworth滤波器

    x1=wavread(‘f:/s1.wav’);
    t=0:1/22050:(size(x1)-1)/22050;
    Au=0.03;
    d=[Aucos(2pi5000t)]’;
    x2=x1+d;
    wp=0.25pi;
    ws=0.3
    pi;
    Rp=1;
    Rs=15;
    Fs=22050;
    Ts=1/Fs;
    wp1=2/Tstan(wp/2); %将模拟指标转换成数字指标
    ws1=2/Ts
    tan(ws/2);
    [N,Wn]=buttord(wp1,ws1,Rp,Rs,‘s’); %选择滤波器的最小阶数
    [Z,P,K]=buttap(N); %创建butterworth模拟滤波器
    [Bap,Aap]=zp2tf(Z,P,K);
    [b,a]=lp2lp(Bap,Aap,Wn);
    [bz,az]=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换
    [H,W]=freqz(bz,az); %绘制频率响应曲线
    figure(1)
    plot(WFs/(2pi),abs(H))
    grid
    xlabel(‘频率/Hz’)
    ylabel(‘频率响应幅度’)
    title(‘Butterworth’)
    f1=filter(bz,az,x2);
    figure(2)
    subplot(2,1,1)
    plot(t,x2) %画出滤波前的时域图
    title(‘滤波前的时域波形’);
    subplot(2,1,2)
    plot(t,f1); %画出滤波后的时域图
    title(‘滤波后的时域波形’);
    sound(f1,22050); %播放滤波后的信号
    F0=fft(f1,1024);
    f=fs*(0:511)/1024;
    figure(3)
    y2=fft(x2,1024);
    subplot(2,1,1);
    plot(f,abs(y2(1:512))); %画出滤波前的频谱图
    title(‘滤波前的频谱’)
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);
    subplot(2,1,2)
    F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图
    title(‘滤波后的频谱’)
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);

    程序4:窗函数法设计滤波器

    x1=wavread(‘f:/s1.wav’);
    t=0:1/22050:(size(x1)-1)/22050;
    Au=0.03;
    d=[Aucos(2pi5000t)]’;
    x2=x1+d;
    wp=0.25pi;
    ws=0.3
    pi;
    wdelta=ws-wp;
    N=ceil(6.6*pi/wdelta); %取整
    wn=(0.2+0.3)pi/2;
    b=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率
    figure(1)
    freqz(b,1,512)
    f2=filter(bz,az,x2)
    figure(2)
    subplot(2,1,1)
    plot(t,x2)
    title(‘滤波前的时域波形’);
    subplot(2,1,2)
    plot(t,f2);
    title(‘滤波后的时域波形’);
    sound(f2,22050); %播放滤波后的语音信号
    F0=fft(f2,1024);
    f=fs
    (0:511)/1024;
    figure(3)
    y2=fft(x2,1024);
    subplot(2,1,1);
    plot(f,abs(y2(1:512)));
    title(‘滤波前的频谱’)
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);
    subplot(2,1,2)
    F2=plot(f,abs(F0(1:512)));
    title(‘滤波后的频谱’)
    xlabel(‘Hz’);
    ylabel(‘fuzhi’);

    展开全文
  • 语音信号处理和分析代码 1.录制一段自己的语音信号,并对...用该滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱, 并对滤波前后的信号进行对比,分析信号的变化; 5.回放语音信号; 6.设计一个信号处理系统界面
  • 本设计采用窗函数法或双线性变换设计滤波器,用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。将滤波前的频谱图和滤波后的频谱图进行...
  • 课程设计的题目:基于MATLAB的语音信号分析及滤波。...然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号
  • 2、语音信号的频谱分析在Matlab中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,要求学生首先画出语音信号的时域波形,然后对语音信号进行频谱分析。 3、设计数字滤波器和画出其频率响应给出各...
  • 一、简介 1.课程设计的目的 通过数字信号处理的课程设计,使学生对信号的采集,处理,传输,...画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频

    一、简介

    1.课程设计的目的
    通过数字信号处理的课程设计,使学生对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用数字信号处理课程中的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养学生发现问题,分析问题和解决问题的能力。

    2.课程设计的题目
    语音信号的采集、分析与处理。

    3.设计内容 (主要技术关键的分析、解决思路和方案比较等)

    对一段语音信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。

    设计内容:采样一段语音信号;画出语音信号的时域波形和频谱图;给定滤波器的性能指标,设计数字滤波器,并画出滤波器的频率响应;然后用设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱。

    关键技术:频谱图的理解;设计数字滤波器;数字滤波的方法;

    解决思路:对语音号进行快速傅里叶变换,得到信号的频谱特性;在MATLAB环境中可以利用函数fir设计FIR滤波器,可以利用函数butter设计IIR滤波器;利用MATLAB中的函数freqz画出各滤波器的频率响应。

    4、设计原理及步骤
    原理:

    4.1 语音信号的采集
    语音信号是一种模拟信号,首先须经过采样将其转换为数字信号,实质是把连续信号变为脉冲或数字序列。 我们可以用录音软件先录一段wav格式的音频。然后用matlab的audioread函数采集,记住采样频率和采样点。然后用sound函数来使用。

    4.2 语音信号的频谱特性
    在MATLAB中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性。

    快速傅氏变换(FFT),是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

    4.3 语音信号的时域分析
    语音信号的时域分析就是分析和提取语音信号的时域参数。进行语 音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是:

    ①表示语音信号比较直观、物理意义明确。

    ②实现起来比较简单、运算且少。

    ③可以得到语音的一些重要的参数。

    ④只使用示波器等通用设备,使用较为简单等。

    语音信号的时域参数有短时能量、短时过零率、短时白相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用。在计算这些参数时使用的一般是方窗或汉明窗。对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其话音能量约集中在3kHz以下。而发清音时,多数能量出现在较高频率上。高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。当然,这种高低仅是相对而言,并没方精确的数值关系。

    4.4 语音信号的频域分析
    语音信号的频域分析就是分析语音信号的频域持征。从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”。

    4.5 采样定理
    在进行模拟与数字信号的转换过程中,当采样大于最高频率的2倍时,则采样之后的数字信号完整的保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

    4.6 采样频率
    采样频率是指计算机每秒钟采样多少个声音样本,是描述声音文件的音质、音频、衡量声卡、声音文件的质量标准。采样频率越高,即采样的时间间隔越短,则在单位时间内计算机得到的声音样本数据越多,对声音波形的表示也越准确。

    4.7 采样位数
    采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样率对于音频接口来说是最为重要的两个指标。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。采样位数越多则捕捉到的信号越精确。

    二、源代码

    function varargout = shengyincaiji(varargin)
    % SHENGYINCAIJI M-file for shengyincaiji.fig
    %      SHENGYINCAIJI, by itself, creates a new SHENGYINCAIJI or raises the existing
    %      singleton*.
    %
    %      H = SHENGYINCAIJI returns the handle to a new SHENGYINCAIJI or the handle to
    %      the existing singleton*.
    %
    %      SHENGYINCAIJI('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in SHENGYINCAIJI.M with the given input arguments.
    %
    %      SHENGYINCAIJI('Property','Value',...) creates a new SHENGYINCAIJI or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before shengyincaiji_OpeningFunction gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to shengyincaiji_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
    
    % Edit the above text to modify the response to help shengyincaiji
    
    % Last Modified by GUIDE v2.5 10-May-2010 15:08:25
    
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @shengyincaiji_OpeningFcn, ...
                       'gui_OutputFcn',  @shengyincaiji_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin & isstr(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
    
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
    
    
    % --- Executes just before shengyincaiji is made visible.
    function shengyincaiji_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to shengyincaiji (see VARARGIN)
    
    % Choose default command line output for shengyincaiji
    handles.output = hObject;
    
    % Update handles structure
    guidata(hObject, handles);
    
    % UIWAIT makes shengyincaiji wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
    
    
    % --- Outputs from this function are returned to the command line.
    function varargout = shengyincaiji_OutputFcn(hObject, eventdata, handles)
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Get default command line output from handles structure
    varargout{1} = handles.output;
    
    
    % --- Executes during object creation, after setting all properties.
    function popupmenu2_CreateFcn(hObject, eventdata, handles)
    % hObject    handle to popupmenu2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    empty - handles not created until after all CreateFcns called
    
    % Hint: popupmenu controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc
        set(hObject,'BackgroundColor','white');
    else
        set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
    end
    

    三、运行结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    四、备注

    完整代码或者代写添加QQ912100926。
    往期回顾>>>>>>
    【信号处理】基于GUI界面之处理录音与音频【Matlab 123期】
    【信号处理】CDR噪声和混响抑制【含Matlab源码 198期】
    【信号处理】最小二乘法解决稀疏信号恢复问题【Matlab 199期】
    【信号处理】遗传算法的VST混响【Matlab 200期】
    【信号处理】HMM的睡眠状态检测【Matlab 201期】
    【信号处理】小波变换的音频水印嵌入提取【Matlab 202期】
    【信号处理】ICA算法信号分离【Matlab 203期】
    【信号处理】基于GUI界面的脉搏信号之脉率存档【Matlab 204期】
    【信号处理】基于GUI界面的虚拟信号发生器(各种波形)【Matlab 205期】
    【信号处理】基于GUI界面信号发生器之电子琴【Matlab 206期】
    【信号处理】数字电子琴设计与实现【Matlab 207期】
    【雷达通信】雷达数字信号处理【Matlab 214期】
    【雷达通信】线性调频(LFM)脉冲压缩雷达仿真【Matlab 215期】
    【雷达通信】距离多普勒(RD)、CS、RM算法的机载雷达成像【Matlab 216期】
    【雷达通信】《现代雷达系统分析与设计》【Matlab 217期】
    【语音处理】基于matlab GUI语音信号处理平台【含Matlab源码 218期】

    展开全文
  • 然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。下面对各步骤加以具体说明。
  • 利用函数audioread对语音信号进行采样,记住采样频率和采样点数,后利用函数FFT对信号进行快速傅里叶变换,得到信号的频谱特性,然后加入一固定频率干扰信号,再画出语音信号干扰前后的时域波形,并对其频谱进行分析...
  • 利用MATLAB 设计实现语音信号采集处理软件,通过MIC 实时录制并分析语音信号,包括实时显示信号波形、时域统计特征值、计算信号的频谱等; 采集并录制一段自己的语音信号,选取合适的滤波器性能指标,采用线性...

                                语音信号采集与滤波处理系统设计与实现

    任务要求

    1. 利用MATLAB 设计实现语音信号采集处理软件,通过MIC 实时录制并分析语音信号,包括实时显示信号波形、时域统计特征值、计算信号的频谱等;
    2. 采集并录制一段自己的语音信号,选取合适的滤波器性能指标,采用双线性变换设计不同类型(包括巴特沃斯、切比雪夫I 型、切比雪夫II 型、椭圆)滤波器,比较并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;
    3. 基于MATLAB GUI 设计语音信号采集与滤波处理系统界面,实现上述语音采集、滤波处理功能。要求该系统可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号,显示滤波前后的频谱,播放功能等。

    实践原理

    1. 采样定理
    2. 时域信号的FFT分析
    3. 双线性变换
    4. 滤波器设计

    实现代码

    • 为了将原始的模拟语音信号转变为数字信号,必须进行采样和量化,进而得到时间和幅度上均为离散的数字语音信号。

    原始语音信号使用 Windows自带录音机录制,时长为 5s,录音功能代 码如下 :

    fs = 44100;          % 采样频率
    duration = 5;        % 时间长度(秒) 
    n = duration*fs;     % 采样点数
    t = (1:n)/fs;
    
    %创建一个录音文件:fs =44100, 16-bit, 单通道
    
    recObject = audiorecorder(fs, 16, 1);   
    fprintf('3秒后开始录音:\n');pause(3);
    fprintf('录音中...\n');
    recordblocking(recObject, duration);
    stop(recObject);
    fprintf('录制结束\n');
    fprintf('按任意键播放录制音频:\n');pause
    play(recObject);                           % 播放录制的音频
    y = getaudiodata(recObject);
    
    ymax = max(abs(y));                        % 归一化
    y = y/ymax;
    
    audiowrite('voice1.wav', y, fs);           % 写入音频,进行保存
     
    figure(1);
    plot(t, y);
    xlabel('时间/s');
    ylabel('幅度');
    title('(a)fs = 44100');
    • 波形分析
    [x, fs] = audioread('D:\MatlabFile\voice.wav');
    
    L = length(x);
    X=fft(x,L);
    A = fftshift(X);
    A=abs(A);
    
    magX = abs(X);
    angX = angle(X);
    
    ws = 2* pi* fs;
    w = (-ws/2 + (0:L-1) * ws/L)/(2 * pi);
    figure(1)
    subplot(221);
    plot(t, x);
    title('原始信号波形');
    xlabel('时间/s');
    ylabel('幅度');
    subplot(222);
    plot(w, abs(A)); 
    title('原始信号频谱');
    xlabel('频率/Hz');
    ylabel('幅度');
    subplot(223);
    plot(magX); 
    title('原始信号幅值');
    subplot(224);
    plot(angX); 
    title('原始信号相位');
    • 加入正弦噪声
    Au = 0.1;
    n = (Au*sin(2*pi*5000*(1:size(x))/fs))'; %加入正弦噪声
    % 合成后的语音信号(含噪声)
    y = x + n;
    % sound(y, fs ,16);
    
    figure(2)
    subplot(2,2,1)
    plot(t, x)                   %做原始语音信号的时域图形
    title('原语音信号时域波形')
    xlabel('时间/s');
    ylabel('幅度');
    subplot(2,2,2)
    plot(t, y)                   %做原始语音信号的时域图形
    title('加正弦噪声后语音信号时域波形')
    xlabel('时间/s');
    ylabel('幅度');
    
    y1=fft(y,L);
    A1 = fftshift(y1);
    A1 = abs(A1);
    
    subplot(2,2,3)
    plot(w, abs(A))
    title('原始语音信号频谱');
    xlabel('频率/Hz');
    ylabel('幅度');
    
    subplot(2,2,4)
    plot(w, abs(A1))
    title('加噪语音信号频谱');
    xlabel('频率/Hz');
    ylabel('幅度');

     

    展开全文
  • 录制一段自己的语音信号...然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,用 MATLAB 设计一信号处理系统界面。
  • 基于MATLAB的基本运算和语音信号处理课程设计 ,完成语音信号的采集,利用windows自带的录音机或其他软件,录制一段语音,时间在1s以内,并对信号进行采样,画出采样信号的时域和频域波形。用窗函数法和双线性变换法...
  • 一、简介 1.课程设计的目的 通过数字信号处理的课程设计,使学生对信号的采集,处理,传输,...画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频
  • 然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。 课程设计的要求: 1.完成语音信号的...
  • 大三时数字信号处理做过...然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;最后,实现对原始信号进行处理,包括:加噪声、快放、慢放...
  • 大三时数字信号处理做过...然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;最后,实现对原始信号进行处理,包括:加噪声、快放、慢放...
  • 电话拨号有两种,脉冲和音频,所谓音频也称双音多频(DTMF)信号的拨号方式,双音多频既是电话拨号时每按一个键,有两个音频频率叠加成一个双音频信号,十二个按键由八个音频频率区分。如下图 应用 知道了双音多频...
  • 共407页,不是试读的版本,PDF高清。 本书介绍语音信号分析和合成处理的基础、原理、方法和...通过合成技术又介绍了语音信号的变速和变调算法,最后介绍了波形拼接合成技术以及时域基音同步叠加(TDPSOLA)的合成方法。
  • 在语音处理中为了能估算噪声的情况,在语音前部有一段前导无话段,实际中,有时可能不知道前导无语段的帧数,但可以从语音信号波形图中估算出签到无话段的时长Is,有了IS就能计算出签到无语段的帧数NIS,公式如下...
  • 数字信号低通、带通、高通滤波器...然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。
  • 原始信号时域波形图'); ; margin-right:0cm">subplot(2,1,2); ; margin-right:0cm">plot(f,abs(y2));  ; margin-right:0cm">title('原始信号频谱图'); ; margin-right:0cm">clear;  ; margin-...
  • 手机与单片机间音频双向稳定通讯

    千次阅读 2013-03-28 01:41:33
    今天终于把手机与单片机间音频双向通讯搞稳定了,迈开了...最主要的问题是,音频信号在出入单片机时都很稳定,但是手机mic采样后的波形很不稳定。 一般的随机数据,都可以正常传输。 但如果有连续多个的1或0的数据
  • 双音多频信号为例,通过运用快速傅里叶变换和Hanning窗等数学方法,分析了信号频率,电平和相位之间的关系,推导出了计算非整周期正弦波形信噪比的算法,解决了数字信号处理中非整周期正弦波形信噪比计算精度低下...
  • 参考资料:实验目的:1、读取音频数据2、绘制单通道及通道音频波形3、计算语音信号短时能量与短时过零率4、绘制语谱图并观察语谱图中音频的基音周期、频率与共振峰准备工作:首先,我们需要 import 几个工具包,一...
  • Python语音处理入门

    千次阅读 2020-03-18 11:30:31
    2、绘制单通道及通道音频波形 3、计算语音信号短时能量与短时过零率 4、绘制语谱图并观察语谱图中音频的基音周期、频率与共振峰 准备工作: 首先,我们需要 import 几个工具包,一个是 python 标准库中的 ...
  • STM32下的DAC波形输出初体验DAC介绍实验要求输出一个周期2khz的正弦波MATLAB下的操作keil中的操作音频信号输出总结 DAC介绍 数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位或...
  • 再对此音乐信号分别加上高斯白噪声、单音频噪声、多音频噪声,之后通过双线性变化方法设计无限长数字脉冲响应低通滤波器,并分别对所加不同噪声的音乐信号进行滤波,并观察滤波前后的时域以及频域波形进行对比。...

空空如也

空空如也

1 2 3 4 5
收藏数 83
精华内容 33
关键字:

双音信号波形