资源简介
在matlab上实现FIR低通滤波器,并用它实现对噪声的滤除,每一步都加有注释,方便参考,程序运行无误
代码片段和文件信息
Fs=2000;
fp=700;
fs=500;
wp=2*pi*fp/Fs;%通带截止频率%
ws=2*pi*fs/Fs;%阻带截止频率%
Bt=wp-ws;%设计过渡带带宽%
NO=ceil(6.2*pi/Bt);%计算所需h(n)长度NO,ceil取大于等于x的最小整数%
wc=(wp+ws)/2/pi;%计算理想带通滤波器截止频率%
N=NO+mod(NO+12)-18;%确保h(n)长度N是奇数%
n=0:N-1;
hn=fir1(N-1wchanning(N));%调用firl计算带通FIR数字滤波器的h(n)%
[Hw]=freqz(hn11024);%计算频率响应函数h(n)%
figure(1);
magH=20*log10(abs(H)/max(abs(H)));%计算幅度%
subplot(311);
stem(nhn‘.‘);
xlabel(‘n‘);
ylabel(‘h(n)‘);
title(‘汉宁窗FIR数字低通滤波器的单位脉冲响应‘);
subplot(312);
plot(w/pi*Fs/2magH);%绘制幅度特性%
title(‘汉宁窗FIR数字低通滤波器的幅度特性‘);
xlabel(‘频率/Hz‘);
ylabel(‘幅度magH‘);
grid on;
subplot(313);
plot(w/pi*Fs/2unwrap(angle(H)));
title(‘汉宁窗FIR数字低通滤波器的相位特性‘);
n=0:1023;
dt=1/Fs;
t=n*dt;
Tp=1024*dt;
f1=250;
f2=800;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
y=filter(hn1x);
%=====================原始信号
f1=sin(2*pi*f1*t);
f2=sin(2*pi*f2*t);
N=500;
F1=abs(fft(f1N));
F2=abs(fft(f2N));
X=abs(fft(xN));
Y=abs(fft(yN));
figure(2);
subplot(411);
plot(tf1);
title(‘原始信号f1(t)‘);
相关资源
- 四旋翼MATLAB仿真文件+实验报告
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
评论
共有 条评论