matlab频谱分析.doc
文本预览下载声明
设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。%写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [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经过低通滤波器以后的新函数进行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(巴氏高通滤波器); 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,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(带通滤波后的频谱图);matlab如何做频谱分析% ----------------------------------------------------------------------------------------------------------------% 方案1:“x = a*cos(2*pi*w*t)”的形式:% ----------------------------------------------------------------------------------------------------------------% 注意:1.时域的持续时间范围应较大;%? ?? ?? ??
显示全部