资源简介
在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遗传算法解决旅行商问题TSP、多
- MATLAB写字板手写汉字识别系统[鼠标手
- 测量平差软件-MATLAB-自动间接平差-武
- 机器人避障算法的matlab仿真代码
- 蚁群算法进行二维路径规划.zip
- LBM模拟多孔介质流
- 基于粒子群算法的投影寻踪法matlab代
- matlab机器人工具箱实现机械臂直线轨
- 基于元胞自动机的人员疏散研究matl
- 基于遗传模拟退火算法的模糊C均值聚
- gold序列自相关.docx
- 粒子群算法优化3-5-3多项式工业机器人
- 重复剪辑代码.rar Matlab实现
- 机械臂逆运动学八组逆解求解程序,
- 10 竞争神经网络与SOM神经网络matlab参
- 9 RBF、GRNN和PNN神经网络案例matlab参考
- 6 广义回归神经网络预测matlab程序.
- 用matlab实现图像KL变换.rar
- matlab车流量监测.rar
-
基于MATLAB/Simuli
nk 的双电机伺服控制 -
基于Matlab/Simuli
nk的两电平有源电力 - ANN人工神经网络的matlab实现
- 随机孔隙的生成,用使用MATLAB
- kalmanfilter_fuben.slx
- IEEE 33节点配电网
- 奇异熵MATLAB代码
- FM调制解调(matlab)
- RLS功率谱估计
- LQR matlab 仿真程序m文件
- 第二类齐次Fredholm积分方程的数值求解
评论
共有 条评论