1、matlab频谱分析Matlab算法设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。%写上标题 %设计低通滤波器: N,Wc=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,Wc); %设计Butterwort
2、h低通滤波器 h,f=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel(时间 (seconds); ylabel(时间按幅度); SF=fft(sf,256); %对叠加函数S经过低
3、通滤波器以后的新函数进行256点的基2快速傅立叶变换 w= %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过低通滤波器以后的频谱图 title(低通滤波后的频谱图); %设计高通滤波器 N,Wc=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,Wc,high); %设计Butterworth高通滤波器 h,f=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot(); %绘制Butterworth高通滤波器的幅频响应图 title(巴氏
4、高通滤波器); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel(Time(seconds); ylabel(Time waveform); w; %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过高通滤波器以后的频谱图 title(高通滤波后的频谱图); %设计带通滤波器 N,Wc=buttord() %估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc a,b=butter(N,
5、Wc); %设计Butterworth带通滤波器 h,f=freqz(); %求数字带通滤波器的频率响应 figure(4); subplot(221); plot(f,abs(h); %绘制Butterworth带通滤波器的幅频响应图 title(butter bandpass filter); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形 xlabel(Time(seconds); ylabel(Time waveform); SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基2快速傅立叶变换 w=( %新信号角频率 subplot(223); plot(); %绘制叠加函数S经过带通滤波器以后的频谱图 title(带通滤波后的频谱图);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1