⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filter_design1.m

📁 matlab中各种滤波器的设计
💻 M
字号:
clc;
clear all;
%设计低通滤波器: 
[N,Wc]=buttord() 
%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc 
[a,b]=butter(N,Wc); %设计Butterworth低通滤波器 
[h,f]=freqz(); %求数字低通滤波器的频率响应 
figure(2); % 打开窗口2 
subplot(2,2,1); %图形显示分割窗口 
plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 
title('巴氏低通滤波器'); 
grid; %绘制带网格的图像 
sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 
subplot(2,2,2); 
plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 
xlabel('时间 (seconds)'); 
ylabel('时间按幅度'); 
SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 
w= %新信号角频率 
subplot(2,2,3); 
plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 
title('低通滤波后的频谱图'); 
%设计高通滤波器 
[N,Wc]=buttord() 
%估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc 
[a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 
[h,f]=freqz(); %求数字高通滤波器的频率响应 
figure(3); 
subplot(2,2,1); 
plot()); %绘制Butterworth高通滤波器的幅频响应图 
title('巴氏高通滤波器'); 
grid; %绘制带网格的图像 
sf=filter(); %叠加函数S经过高通滤波器以后的新函数 
subplot(2,2,2); 
plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 
xlabel('Time(seconds)'); 
ylabel('Time waveform'); 
w; %新信号角频率 
subplot(2,2,3); 
plot()); %绘制叠加函数S经过高通滤波器以后的频谱图 
title('高通滤波后的频谱图'); 
%设计带通滤波器 
[N,Wc]=buttord([) 
%估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc 
[a,b]=butter(N,Wc); %设计Butterworth带通滤波器 
[h,f]=freqz(); %求数字带通滤波器的频率响应 
figure(4); 
subplot(2,2,1); 
plot(f,abs(h)); %绘制Butterworth带通滤波器的幅频响应图 
title('butter bandpass filter'); 
grid; %绘制带网格的图像 
sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数 
subplot(2,2,2); 
plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形 
xlabel('Time(seconds)'); 
ylabel('Time waveform'); 
SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换 
w=( %新信号角频率 
subplot(2,2,3); 
plot('); %绘制叠加函数S经过带通滤波器以后的频谱图 
title('带通滤波后的频谱图');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -