基于matlab各滤波器源代码(matlab中值滤波器代码)[20240426更新]
admin 发布:2024-04-26 11:11 106
本篇文章给大家谈谈基于matlab各滤波器源代码,以及matlab中值滤波器代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
基于MATLAB的巴特沃斯低通滤波器的设计。求代码?
%%生成50hz和100hz叠加的正弦波
Fs=1000;
T=1/Fs;
L=200;
t=(0:L-1)*T;
y1=sin(2*pi*50*t);
y2=sin(2*pi*100*t);
y=y1+y2+randn(size(t));
subplot(5,1,1);
plot(t,y);
%%快速傅里叶变换
N=2^nextpow2(L);
Y=fft(y,N)/L;
f=Fs/2*linspace(0,1,N/2+1);
subplot(5,1,2);
plot(f,2*abs(Y(1:N/2+1)));
%%滤波器的设计 wp通带截止频率 ws阻带截止频率 rp通带最大衰减 as阻带最小衰减
%%滤掉100hz的信号
wp=2*50/Fs;
ws=2*80/Fs;
rp=1;
as=10;
[N,wc]=buttord(wp,ws,rp,as);
[b,a]=butter(N,wc);
[H,w]=freqz(b,a);
z=filter(b,a,y);
subplot(5,1,3);
plot(w,abs(H));
subplot(5,1,4);
plot(t,z);
%%对滤波后得到的正弦波进行快速傅里叶变换
N1=2^nextpow2(L);
Y1=fft(z,N1)/L;
f1=Fs/2*linspace(0,1,N1/2+1);
subplot(5,1,5);
plot(f1,2*abs(Y1(1:N1/2+1)));
带通滤波器matlab代码
% 用切比雪夫最佳一致逼近设计线性相位FIR带通滤波器;
%信号为0.5hz, 0.9hz, 1.1hz和1.5hz的正统信号叠加组成
%通带为[0.9,1.1]
%频谱分辨率与信号实际长度N成正比
clear all;
f1=0.5;f2=0.9;f3=1.1;f4=1.5;t=0:1203;N=length(t);fs=10;M=512;
x1=sin(2*pi*(f1/fs)*t)+sin(2*pi*(f2/fs)*t)+sin(2*pi*(f3/fs)*t)+sin(2*pi*(f4/fs)*t);
figure(1);
subplot(211);plot(t,x1);title('原信号');
y=fft(x1);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(y(1:N/2)));grid;xlabel('hz');%处理前频谱
wc1=2*f2/fs;wc2=2*f3/fs;wc3=2*f4/fs;%归一化角频率,用于下面的f1
f1=[0 wc1-0.05 wc1 wc2 wc2+0.05 1];
A=[0 0 1 1 0 0];%设置带通或带阻,1为带通,0为带阻
weigh=[1 1 1 ];%设置通带和阻带的权重
b=remez(60,f1,A,weigh);%传函分子
h1=freqz(b,1,M);%幅频特性
figure(2)
f=(0:1/M:1-1/M)*fs/2;
subplot(211);plot(f,abs(h1));grid;title('带通');
x2=filter(b,1,x1);
S1=fft(x2);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(S1(1:N/2)));grid;xlabel('hz');%处理后频谱
MATLAB基于汉宁窗的FIR的低通滤波器的源代码及注释
很常见的设计题目
给你一个例程,只需要改一改参数就行了
clear all;
f=[0 0.19 0.2 0.3 0.31 0.59 0.6 0.8 0.81 1];
% 给定频率轴分点;
m=[0 0 1 1 0 0 1 1 0 0];
% 给定在这些频率分点上理想的幅频响应
N1=30;
N2=90;
% 取两种不同的滤波器长度;
b1=fir2(N1,f,m);
b2=fir2(N2,f,m);
% 得到两个滤波器;
subplot(311);
stem(b1,'.');grid;
subplot(312);
stem(b2,'.');grid;
M=128;
[h1,w]=freqz(b1,1,M,1);
[h2,w]=freqz(b2,1,M,1);
subplot(313);
plot(w,abs(h1),'b-',w,abs(h2),'g-');grid;
其中,f是归依化以后的频率 通过数字滤波器的采样频率算出来,根据通带和阻带算好f和m就行了
看一看help,这个函数应该有窗函数的选择 默认情况下是汉明窗
希望能够帮到你
基于matlab各滤波器源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于matlab中值滤波器代码、基于matlab各滤波器源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-06dz论坛自动回帖代码(discuz自动发帖)[20240506更新]
- 05-06javaweb个人博客登陆源代码(javaweb博客项目源码)[20240506更新]
- 05-06短信攻击代码(短信攻击网站)[20240506更新]
- 05-06c代码库网站(c语言开源代码网站)[20240506更新]
- 05-06源代码高亮输出html(高亮显示代码)[20240506更新]
- 05-06合作伙伴网页代码(合作伙伴网页代码是多少)[20240506更新]
- 05-06gif怎么转代码(如何转为gif)[20240506更新]
- 05-06java图书馆管理系统代码(图书馆管理系统开源代码java)[20240506更新]
- 05-06dwz网站源代码(dw网站制作的源代码)[20240506更新]
- 05-06canny边缘检测matlab代码(基于matlab的边缘检测)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接