用matlab设计一个滤波器
-
数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件... 数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 2、语音信号分析 使用MATLAB绘出采样后的语音信号的时域波形和频谱图。根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。 3、含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:(1)白噪声;(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。 4、数字滤波器设计及滤波,完成以下题目中的一个 给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带Z大衰减Rp=1 dB; 阻带Z小衰减Rs=15 dB,每个题目至少设计出5个用不同方法的不同类型滤波器。 题目(1):采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。 题目(2):采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。 5、回放语音信号 对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。 6、设计一个语音信号分析与处理系统界面(选作) 利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。我的邮箱是471147021@QQ.com 哪位高手知道这方面的问题,给我点提示嘛,或者将答案发到我的邮箱里,谢谢了!!! 展开
全部评论(2条)
-
- 汪乐安 2009-06-25 00:00:00
- 太多了,其实网上这方面现成的程序很多,大概如下: 1:使用wavrecord函数 2:使用awgn等函数 3:使用fdatool可以设计滤波器 5:wavplay 6: guide
-
赞(13)
回复(0)
-
- love_xue_58 2017-12-16 13:42:01
- 你自己整合吧,我没时间帮你整合,我给你提供一些程序: 正确的代码:程序1: fs=22050; %语音信号采样频率为22050 x1=wavread('Windows Critical Stop.wav'); %读取语音信号的数据,赋给变量x1 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: fs=22050; %语音信号采样频率为22050 x1=wavread('Windows Critical Stop.wav'); %读取语音信号的数据,赋给变量x1 t=0:1/22050:(size(x1)-1)/22050; y1=fft(x1,1024); %对信号做1024点FFT变换 f=fs*(0:511)/1024; x2=randn(1,length(x1)); %产生一与x长度一致的随机信号 sound(x2,22050); figure(1) plot(x2) %做原始语音信号的时域图形 title('高斯随机噪声'); xlabel('time n'); ylabel('fuzhi n'); randn('state',0); m=randn(size(x1)); x2=0.1*m+x1; sound(x2,22050);%播放加噪声后的语音信号 y2=fft(x2,1024); figure(2) plot(t,x2) title('加噪后的语音信号'); xlabel('time n'); ylabel('fuzhi n'); figure(3) subplot(2,1,1); plot(f,abs(y2(1:512))); title('原始语音信号频谱'); xlabel('Hz'); ylabel('fuzhi'); subplot(2,1,2); plot(f,abs(y2(1:512))); title('加噪后的语音信号频谱'); xlabel('Hz'); ylabel('fuzhi'); 根据以上代码,你可以修改下面有错误的代码 程序3:双线性变换法设计Butterworth滤波器 fs=22050; x1=wavread('h:\课程设计2\shuzi.wav'); t=0:1/22050:(size(x1)-1)/22050; Au=0.03; d=[Au*cos(2*pi*5000*t)]'; x2=x1+d; wp=0.25*pi; ws=0.3*pi; Rp=1; Rs=15; Fs=22050; 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 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:窗函数法设计滤波器: fs=22050; x1=wavread('h:\课程设计2\shuzi.wav'); t=0:1/22050:(size(x1)-1)/22050; Au=0.03; d=[Au*cos(2*pi*5000*t)]'; x2=x1+d; wp=0.25*pi; 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');
-
赞(19)
回复(0)
热门问答
- 用matlab设计一个滤波器
- 数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件... 数字滤波器设计及在语音信号分析中的应用。 步骤: 1、语音信号采集 录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。 2、语音信号分析 使用MATLAB绘出采样后的语音信号的时域波形和频谱图。根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。 3、含噪语音信号合成 在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:(1)白噪声;(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。 4、数字滤波器设计及滤波,完成以下题目中的一个 给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带Z大衰减Rp=1 dB; 阻带Z小衰减Rs=15 dB,每个题目至少设计出5个用不同方法的不同类型滤波器。 题目(1):采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。 题目(2):采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。 5、回放语音信号 对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。 6、设计一个语音信号分析与处理系统界面(选作) 利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。我的邮箱是471147021@QQ.com 哪位高手知道这方面的问题,给我点提示嘛,或者将答案发到我的邮箱里,谢谢了!!! 展开
- 用matlab设计一个简单的滤波器
- 我有一串离散的数据,图像比较混乱,其表达式可能为y=a1*sin(x+n1)+...an*sin(100x+n100) 但是x前面的系数超过20了我就不考虑了,所以我想把这个离散的数据点变的平滑一些,把x前面的系数超过20的全部滤掉。隔行如隔山,这方面知识确实不懂,望大神给写个mat... 我有一串离散的数据,图像比较混乱,其表达式可能为y=a1*sin(x+n1)+...an*sin(100x+n100) 但是x前面的系数超过20了我就不考虑了,所以我想把这个离散的数据点变的平滑一些,把x前面的系数超过20的全部滤掉。隔行如隔山,这方面知识确实不懂,望大神给写个matlab程序! 展开
- 用MATLAB设计一个低通滤波器
- Z好解释一下各种参数怎么设置 都是怎么计算出来的
- matlab中设计fir滤波器
- 用matlab设计一个滤波范围在0到20HZ范围的滤波器
- 用MATLAB设计一个滤波频率在0到20HZ范围的滤波器 Z好是FIR的...
- MATLAB中FIR滤波器如何设计
- 如何用MATLAB设计希尔伯特滤波器
- 要求把频率150K的正弦信号移相90度,幅频特性为1,采样率每周期12点。
- 求matlab设计滤波器的大神解答?
- Rp=0.7; Rs=20; Wp=950*2/Fs; Ws=860*2/Fs; [n,Wn]=ellipord(Wp,Ws,Rp,Rs,'s'); [b,a]=ellip(n,Rp,Rs,Wp,'high') [H,w]=freqz(b,a,512); 本人设计的是椭圆高通数字滤波器。请问一下:Wp=950*2/Fs; Ws=860*2/Fs; 为什么不用乘以π。wp和ws代表什么?
- 帮我设计一个图像的低通滤波器,用MATLAB
- 没有什么指标要求, 在截止频率为50Hz,60Hz,70Hz,80Hz等频带上,观察不同图像的滤波效果,Z后确定Z优。设计出特定图像的低通滤波器,实现图像的低通滤波。 谢谢大家了.
- MATLAB中设计的滤波器程序是干什么用的?怎么用?
- MATLAB中设计的滤波器程序是干什么用的?怎么用? 所有的类似的书中都有这些滤波器的设计~!但设计完这后这些程序怎么滤波啊? 那位高手指点一下啊~1
- matlab fir滤波器
- matlab做一个滤波器
- 如题 随便怎样的 Z好有一定的文字说明 不要ctrl+c ctrl+v的 谢谢了
- 在Matlab中已知频率响应曲线如何设计滤波器
- 如题,我已经知道了一个频率响应,存在数组h中,怎样把这个设计成滤波器。
- 在设计FIR滤波器,用matlab生成FIR滤波器的抽头系数,怎样将其转换成整数?
- 我的FIR滤波器是16阶窗函数法,输入输出都是12位 我知道在matlab里是用 round(Num*(2^X))处理 但是不知道对所乘的2的幂需要满足什么条件,即,不明白X=?
- 设计滤波器
- 用matlab编程设计一个巴特沃斯滤波器,对声音进行去噪
- 首先读取wav文件,画出原始声音的时域图和频谱图,再加噪声(正余弦或者随机都可以),再画出加噪声后的时域和频谱图。然后通过设计的巴特沃斯滤波器,画出滤波后的声音的时域和频谱图。 请大侠帮忙,Z好能加个qq诚心请教!
- 求设计一个hamming窗设计的带通滤波器的matlab程序。
- 通带截止频率和阻带截止频率分别为0.3pi 0.4pi N=33 求幅值相应和单位脉冲相应的图 类似于这个图 还有一个是单位脉冲相应的图
- 用remez设计FIR低通滤波器问题。matlab
- 那位高手会设计这个滤波器,滤波器阶数P=50.通带[0,0.4pi].阻带[0.5pi,pi].通带Z大偏差delta1=0.01.阻带Z大偏差0.001.在[0,0.4pi]U[0.5pi,pi]间隔中等间隔采样N=200个点。谢谢!
- 滤波器怎么设计?
- 假如我要设计一个截止频率为Wc的低通滤波器,已求出这个滤波器的时域函数是sinc函数,当信号x(t)通过这个滤波器时,输出的信号为x(t)和h(t)的卷积。 我这么想:要得到输出y(t)=∑x(t-T)h(T),就必须要能控制h(t),因为我已经知道了h(t)的函数了,这时我可... 假如我要设计一个截止频率为Wc的低通滤波器,已求出这个滤波器的时域函数是sinc函数,当信号x(t)通过这个滤波器时,输出的信号为x(t)和h(t)的卷积。 我这么想:要得到输出y(t)=∑x(t-T)h(T),就必须要能控制h(t),因为我已经知道了h(t)的函数了,这时我可以在相应时间内赋予滤波器系统对x(t-T)的相应的“加权”h(T),但是我怎么能把x(t)逆时倒过来变成x(t-T)呢? 其实我就想知道这个低通滤波器怎么设计? 展开
- 基于matlab设计线性相位fir滤波器的程序 急!万分感谢
12月突出贡献榜
推荐主页
最新话题
-
- #八一建军节——科技铸盾,仪器护航#
- 如何选择到合适的磷青铜绞线?磷青铜绞线的质量...如何选择到合适的磷青铜绞线?磷青铜绞线的质量解析和如何选择到合适的绞线?磷青铜绞线是一种特殊的铜合金导线,由铜、锡和磷等元素组成,具有很好的机械性能、电气性能和耐腐蚀性。磷青铜绞线基本定义与特性:磷青铜是铜与锡、磷的合金,质地坚硬,可制弹簧。典型成分为铜(90%)、锡(6-9%)及磷(0.03-0.6%)锡元素提升合金的强度和耐腐蚀性,磷则细化晶粒、增强耐磨性铸造性能。耐磨性:表面氧化层使其在特殊环境下耐腐蚀,使用寿命长导电性:保持铜很好导电性能的同时有化电子传输路径非铁磁性:不含铁元素,避免在强磁场环境中产生额外能量损耗弹性:受到外力作用时能迅速恢复原状
- 八一建军节 铁血铸军魂













参与评论
登录后参与评论