基于MATLAB的语音信号分析与处理的课程设计
-
要求: 录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的是与波形和频谱图;给定滤波器的性能指标,采用窗函数或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集语音信号进行滤波,画出滤波后信号的时... 要求: 录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的是与波形和频谱图;给定滤波器的性能指标,采用窗函数或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;Z后,用MATLAB设计一信号处理系统界面 展开
全部评论(2条)
-
- 78tear 2008-07-09 00:00:00
- 一个课程设计就给10分啊? 题目不难,不过也麻烦啊,你找一本《MATLAB 7 辅助信号处理技术与应用》参考一下,自己做出来没有问题的。
-
赞(12)
回复(0)
-
- 64852yy 2012-06-12 00:00:00
- 第二种,记得要改73行声音路径 % % 程序1:用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱 % clear all % close all % clc % fs=8000; %语音信号采样频率为8000 % x1=wavread('I:\2010教案\2010数字信号处理\rafarin_8k.wav',[1 4*5120]); % t=(0:length(x1)-1)/8000; % y1=fft(x1,2048); %对信号做2048点FFT变换 % f=fs*(0:1023)/2048; % figure(1) % plot(t,x1) %做原始语音信号的时域图形 % grid on; axis tight; % title('原始语音信号'); % xlabel('time(s)'); % ylabel('幅度'); % figure(2) % plot(f,abs(y1(1:1024))) %做原始语音信号的FFT频谱图 % grid on; axis tight; % title('原始语音信号FFT频谱') % xlabel('Hz'); % ylabel('幅度'); % sound(x1) % % % % ************************************************************************************************************************** % % % % 程序2:给原始的语音信号加上一个高频余弦噪声,频率为3.8kHz。 % % 画出加噪后的语音信号时域和频谱图,与原始信号对比,可以很明显的看出区别。 % clear all; % close all % clc; % fs=8000; % x1=wavread('I:\2010教案\2010数字信号处理\rafarin_8k.wav',[1 4*5120]); % t=(0:length(x1)-1)/8000; % f=fs*(0:1023)/2048; % Au=0.5; % % d=[Au*cos(2*pi*3800*t)]'; %噪声为3.8kHz的余弦信号 % d=0.25*rand(1,length(x1))'; %随机噪声 % x2=x1+d; % y1=fft(x1,2048); % y2=fft(x2,2048); % figure(1) % subplot(2,1,1); % plot(t,x1) % grid on; axis tight; % title('原始语音信号'); % xlabel('time(s)'); % ylabel('幅度'); % subplot(2,1,2); % plot(t,x2) % grid on; axis tight; % title('加噪后的信号'); % xlabel('time(s)'); % ylabel('幅度'); % figure(2) % subplot(2,1,1); % plot(f,abs(y1(1:1024))); grid on; axis tight; % title('原始语音信号频谱'); % xlabel('Hz'); ylabel('幅度'); % subplot(2,1,2); % plot(f,abs(y2(1:1024)));grid on;axis tight; % title('加噪语音信号频谱'); % xlabel('Hz');ylabel('幅度'); % sound(x2) % % ********************************************************************************************************************** % % 程序3: 双线性变换法设计Butterworth滤波器 clear all; close all clc; fs=8000; x1=wavread('I:\2010教案\2010数字信号处理\rafarin_8k.wav',[1 4*5120]); t=(0:length(x1)-1)/8000; f=fs*(0:1023)/2048; A1=0.05; A2=0.10; d=[A1*cos(2*pi*3800*t)+A2*sin(2*pi*3600*t)]'; % d=0.25*rand(1,length(x1))'; %随机噪声 x2=x1+d; wp=0.8*pi; ws=0.85*pi; Rp=1; Rs=15; Fs=8000; Ts=1/Fs; wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标 ws1=2/Ts*tan(ws/2); [N,Wn]=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的Z小阶数 [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(W*Fs/(2*pi),abs(H)) grid on;axis tight; xlabel('频率(Hz)'); ylabel('频率响应') title('Butterworth') f1=filter(bz,az,x2); % 滤波 figure(2) subplot(2,1,1) plot(t,x2) %画出滤波前的时域图 grid on; axis tight; title('滤波前的时域波形'); subplot(2,1,2) plot(t,f1); %画出滤波后的时域图 grid on; axis tight; title('滤波后的时域波形'); y3=fft(f1,2048); figure(3) y2=fft(x2,2048); subplot(2,1,1); plot(f,abs(y2(1:1024))); %画出滤波前的频谱图 grid on; axis tight; title('滤波前的频谱') xlabel('Hz'); ylabel('幅度'); subplot(2,1,2) plot(f,abs(y3(1:1024))); %画出滤波后的频谱图 grid on; axis tight; title('滤波后的频谱') xlabel('Hz'); ylabel('幅度'); sound(x2,8000); sound(f1,8000); % % % % ******************************************************************************************************************** % % % 程序4:窗函数法设计滤波器: % clear all; % clc; % fs=8000; % x1=wavread('I:\2010教案\2010数字信号处理\rafarin_8k.wav',[1 4*5120]); % t=(0:length(x1)-1)/8000; % f=fs*(0:2047)/4096; % A1=0.05;A2=0.10; % d=[A1*cos(2*pi*3600*t)+A2*sin(2*pi*3800*t)]'; % x2=x1+d; % wp=0.8*pi; % ws=0.85*pi; % wdelta=ws-wp; % N=ceil(6.6*pi/wdelta); %取整 % wn=(0.8+0.85)*pi/2; % [bz,az]=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率 % figure(1) % freqz(bz,az); % grid on; axis tight; % f2=filter(bz,az,x2); % figure(2) % subplot(2,1,1) % plot(t,x2); % grid on;axis tight; % title('滤波前的时域波形'); % subplot(2,1,2) % plot(t,f2); % grid on; axis tight; % title('滤波后的时域波形'); % y3=fft(f2,4096); % f=fs*(0:2047)/4096; % figure(3) % y2=fft(x2,4096); % subplot(2,1,1); % plot(f,abs(y2(1:2048))); % grid on; axis tight; % title('滤波前的频谱') % xlabel('Hz'); % ylabel('幅度'); % subplot(2,1,2) % plot(f,abs(y3(1:2048))); % grid on; axis tight; % title('滤波后的频谱') % xlabel('Hz'); % ylabel('幅度'); % sound(f2,8000); % % % *********************************************************************************************************************** % % % % 程序5: 补零,提高分辨率。 % clear all; close all; % t=0:0.01:3; % s=sin(2*pi*5*t)+2*sin(2*pi*15*t); % w=abs(fft(s)); % w2=abs(fft(s,4*301)); % 补零 % figure; % subplot(211); plot(w); % grid on; axis tight; % subplot(212); plot(w2); % grid on; axis tight; % % % ——理想滤波器——*************************************************************************** % % % % 程序6: 理想低通滤波器 % clear all;close all; % X=[ones(1,51) zeros(1,60) ones(1,50)]; % Frequency response of an ideal low-pass filter % x=ifft(X); % IDFT of X with the same number of points % Y=fft(x,483); % IDFT of X after it is padded with zeros % stem([1:161]/161-0.5,abs(fftshift(X))); % figure 1 % axis([-0.5,0.5,0,1.5]); % figure; % stem(real(x)); % figure 2 % figure; % stem([1:483]/483-0.5,abs(fftshift(Y))); % figure 3 % axis([-0.5,0.5,0,1.5]); % figure; % stem([1:161]/161-0.5,abs(fftshift(Y(1:3:481)))); % figure 4 % axis([-0.5,0.5,0,1.5]); % % ********************************************************************************************************************** % % 程序7:理想带阻滤波器 % clear all; % clc % wp=0.8*pi; % ws=0.85*pi; % wdelta=ws-wp; % N=ceil(6.6*pi/wdelta); % wn=(0.8+0.85)*pi/2; % [bz,az]=fir1(N,wn/pi,hamming(N+1)); % w=abs(fft(bz));w2=abs(fft(bz,399)); % figure; % subplot(211);plot(w);grid on; axis tight; % subplot(212);plot(w2);grid on; axis tight; % h(1:201)=1;h(22:181)=0; % x1=ones(1,17); x2=ones(1,11); % w1=fft(x1,32); w2=fft(x2,32); % w3=w1.*w2; x3=ifft(w3); plot(x3); %
-
赞(14)
回复(0)
热门问答
- 基于MATLAB的语音信号分析与处理的课程设计
- 要求: 录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的是与波形和频谱图;给定滤波器的性能指标,采用窗函数或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集语音信号进行滤波,画出滤波后信号的时... 要求: 录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的是与波形和频谱图;给定滤波器的性能指标,采用窗函数或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;Z后,用MATLAB设计一信号处理系统界面 展开
2008-07-08 19:22:10
321
2
- 基于MATLAB采集语音信号分析与处理
- 要求: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干... 要求: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 2、语音信号分析 在MATLAB软件平台下绘出采样后的语音信号的频谱图。 3、含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声后,绘出噪声的信号频谱图. 4.设计一种合适的滤波器,去除噪声,得到原始的语音信号. 有哪位可以为我提供MATLAB源程序,多多感谢了!!! 展开
2009-03-10 01:09:56
571
3
- matlab怎样分析语音信号的频谱
2016-01-31 14:34:23
303
1
- 基于matlab的连续信号的频谱分析
- 怎么在matlab中对连续信号X(t)=COS(4*pi*t)+SIN(2*pi*t)+COS(8*pi*t)进行DFT变换 。要求画出X(exp(jw))与f的频谱图。抽样间隔随意
2009-07-11 12:03:28
443
1
- matlab的音乐信号的分析与处理设计的实验咋做?
- 一)设计内容与技术条件 1.截取一段音乐信号(2s左右),并对信号进行采样,画出采样后音乐信号的时域波形和频谱图; 2.用矩形窗设计一个FIR低通滤波器,确定滤波器的单位抽样响应,画出滤波器的频率响应(幅频响应和相频响应)曲线;(也可以根据自己需要... 一)设计内容与技术条件 1.截取一段音乐信号(2s左右),并对信号进行采样,画出采样后音乐信号的时域波形和频谱图; 2.用矩形窗设计一个FIR低通滤波器,确定滤波器的单位抽样响应,画出滤波器的频率响应(幅频响应和相频响应)曲线;(也可以根据自己需要设置滤波器性能指标) 低通滤波器设计性能指标:fp=100Hz,fs=120Hz,ap=20dB,as=1dB 3.用滤波器对采集到的音乐信号进行滤波,画出滤波以后信号的时域波形和频谱; 4.分析语音信号的变化,并回放语音信号; 5.运用GUI设计一个信号处理系统界面(选作)。 展开
2009-12-20 12:26:40
353
1
- matlab中语音信号DSB调制与解调频谱分析,见图
- 左边是语音信号,右边是语音信号跟cos(2*pi*9000)相乘得到调制信号,为什么中间看起来还有直流分量。
2018-12-14 09:03:48
286
0
- 怎样用matlab对语音信号分解及频谱分析?
2016-10-12 08:33:22
354
1
- MATLAB中如何分析语音信号的频谱中是否具有谐波结构?求大神指点
2018-11-29 12:49:09
284
0
- 基于cadence的信号和电源完整性设计与分析怎么样
2017-05-13 19:23:47
245
1
- 基于matlab数字滤波器的设计
2018-05-09 11:31:52
365
1
- 基于FPGA的频率计或万年历的课程设计
- 我们在做基于FPGA的课程设计 我选的是频率计(万年历也可以) 但是做不出来啊 谁有这个报告 拜托发一份呗 马上就要交了 要求 基于FPGA 使用Verilog HDL 语言编程序 软件是Quartus II 我们用的开发板是DE2-70 有的拜托发一份 看用户名就... 我们在做基于FPGA的课程设计 我选的是频率计(万年历也可以) 但是做不出来啊 谁有这个报告 拜托发一份呗 马上就要交了 要求 基于FPGA 使用Verilog HDL 语言编程序 软件是Quartus II 我们用的开发板是DE2-70 有的拜托发一份 看用户名就知道怎么发了 拜托了 展开
2015-01-08 03:30:20
337
4
- 在MATLAB中信号分析的频谱与功率谱密度相似是怎么回事
2018-11-30 06:44:06
345
0
- 高分跪求 基于LED显示的信号发生器的课程设计?
- 基于单片机的信号发生器的课程设计,产生方波,三角波.技术要求:键盘输入并由LED显示一,表示输出三角波键盘输入并由LED显示二,表示输出方波... 基于单片机的信号发生器的课程设计 ,产生方波,三角波. 技术要求: 键盘输入并由LED显示一,表示输出三角波 键盘输入并由LED显示二,表示输出方波 展开
2008-07-08 07:48:04
241
1
- 有关压力传感器的信号采集与处理
- 我们在做一个压力传感器的试验,但是压力传感器输出的信号变化很小,在不加压力的情况下输出+2.47v,如果加压时就输出+2.49v左右的电压,想检测到这+0.02v电压的变化,当检测到压力时... 我们在做一个压力传感器的试验,但是压力传感器输出的信号变化很小,在不加压力的情况下输出+2.47v,如果加压时就输出+2.49v左右的电压,想检测到这+0.02v电压的变化,当检测到压力时转化为数字信号0;1,用于单片机处理,需要什么芯片,是仪表放大器,还是其他的信号采集a/d转换芯片 要求: 1.灵敏度高,能检测到+0.02v电压变化 2.工作电压+5v左右 3.价格便宜 4.平时工作误差小,不会在没有压力的情况下输出错误信号 5.功耗小 6.输出电压能提供给单片机输入信号 7.Z好具有滤波作用,消除噪声,输出稳定 敏芯压力传感器MSPA1 Type: 15PSI absolute type pressure sensor P/N: MSPA1 Application field: · Barometers, Altimeters · Variometers Feature: · Uncompensated pressure sensor · Output Span 100mV @ 5V · Temperature Range -40°…+125°C · Pressure medium: Dry air or non-corrosive gas · Low Cost, High reliability 感谢高手回答问题!!! 展开
2010-07-11 10:08:43
456
2
- 用MATLAB对语音信号做时域和频谱分析。要求有详细的程序,谢谢了。
- 我的毕业论文是 基于MATLAB的语音信号的滤波器的实际和实现,我的语音文件在E:\MATLA\work\hnist.wav我想知道时域分析,频域分析。他们分别实现的程序。答的好的追加分。
2009-05-07 21:00:40
373
2
- 基于MATLAB和声卡的虚拟信号发生器
- 软件部分已经作出来了,但是应该怎样把计算机跟示波器连起来呢,怎么调试?... 软件部分已经作出来了,但是应该怎样把计算机跟示波器连起来呢,怎么调试? 展开
2009-05-25 21:31:07
365
1
- 用MATLAB设计对信号进行频谱分析和滤波处理的程序
- 设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
2010-01-03 03:07:03
365
2
- 电容式压力变送器的分析与处理
2018-11-28 17:44:00
343
0
- 请问DSP处理信号与滤波器的关系
2011-09-08 05:57:32
402
1
- 离散的信号数据如何通过matlab分析它的频谱?跪求程序
2012-12-05 19:04:28
248
2
4月突出贡献榜
推荐主页
最新话题
参与评论
登录后参与评论