仪器社区

Matlab 正弦周期信号 低通滤波器

淓郁q 2016-06-11
题目:设计不同的低通、高通滤波器,获取周期信号sin(n)的高频和低频谐波,分析其频谱 希望各位大神帮我用Matlab做做这题,把代码给我。 或者详细说说低通高通滤波器怎么搞。很着急,网上很多介绍滤波器的乱七八糟,看不懂。 谢谢各位了
评论
全部评论
就上此网14
对1Hz和400Hz的两个正弦信号进行低通滤波的matlab程序
? 对1Hz和400Hz的两个正弦信号进行低通滤波的matlab程序
fs=1000;
t=0:1/fs:5;
x=cos(2*pi*1*t)+cos(2*pi*400*t);
plot(t,x);
grid
for n=2:length(x);
x(n)=0.9999*x(n-1)+x(n);
end
figure(2);
plot(t,x)
grid

matlab 去除噪声
悬赏分:0 - 解决时间:2007-4-19 15:49
请问如何用Matlab将图像中的水平线干扰去除,正弦噪声应该用什么滤波器处理?具体怎样处理?

提问者: sky1_fish - 一级Z佳答案
1.读图象
2.做fft
3.显示fft
4.肉眼观察频谱中的噪声.(正弦干扰是在频谱中是几个点)
5.频谱中有噪声的区域设置为0.(或者低通)
6.反fft变换
7.显示

1.读图象
im=imread('文件名');

2.做fft
im_fft=(fftshift(fft2(im)));%fftshift是把低频成分放到中间,习惯上要这样做。

3.显示fft
im_magfft=abs(im_fft);
temp1=log(im_magfft+1);%否则幅度太大,不能显示整个动态范围
Xmin = min(min(temp1));
Xmax = max(max(temp1));
scaf = 255/(Xmax-Xmin);
im_ftd = floor(scaf*(temp1 - Xmin));
figure;
imshow(im_ftd);

4.肉眼观察频谱中的噪声.(正弦干扰是在频谱中是几个点)

5.频谱中有噪声的区域设置为0.(或者低通)
%下面举例低通
r = 70; %低通的ZX半径,自己观察
for i=1:m
for j=1:n
if (((i-m/2)^2+(j-n/2)^2) < r^2 )
mask(i,j) = 1;
else
mask(i,j) = 0;
end
end
end
im2_fft=im_fft.*mask;

6.反fft变换
im2=ifft(ishiftfft(im2_fft));

7.显示
imshow(im2);

参考资料:D.Renshaw, Edinburgh University

关于matlab在低通滤波器的设计...
设计一个让低于400pi以下频率的信号通过的数字低通滤波器。
ws,wp那些参数随便...我实在做不出来了....谢谢
问题补充:或者请高手告诉我,比如我的低通滤波器要让400pihz一下的频率通过,那么我的ws,wp那一些参数究竟要如何选择或者计算呢?谢谢大家,分数不多,但是也请看看
这个还得有个采样频率吧,比如根据奈氏定律,采样频率必须高于Z高频率的2倍,那么你可以设计采样频率800,或者1000等。此时数字频率就为400pi/1000=0.4pi,那么你可以设计wp=0.4pi,ws=0.45pi,还要确定一个Z小衰减,比如As=40db.这样就可以直接设计了。
在MATLAB命令行输入fdatool,可以调出一个滤波器设计窗口。在那里面你会有很大的收获。
例如你这个400PI的那么你的200HZ,采样频率为Fs为1K,Fpass设为200,Fstop设为400,衰减为80db后设计滤波器,然活倒出export,数据为lowpass1,命名利用,保存文件为*.mat,利用
load *;
filter(lowpass1,1,data);
调用刚才生长的参数。data就为你要滤波的信号

MATLAB一阶低通滤波器的设计
悬赏分:5 - 解决时间:2009-1-8 11:05
对f=5sin(2*pi*20t)+5sin(2*pi*60t),截止频率50Hz,设计MATLAB低通滤波器的程序及注释,谢谢
提问者: feiyun0125 - 一级Z佳答案%滤波前数据
t = 0:0.01:10;
f=5*sin(2*pi*20*t)+5*sin(2*pi*60*t);
%滤波器设计
Fpass = 1; % Passband Frequency
Fstop = 50; % Stopband Frequency
Apass = 1; % Passband Ripple (dB)
Astop = 60; % Stopband Attenuation (dB)
Fs = 2000; % Sampling Frequency
h = fdesign.lowpass('fp,fst,ap,ast', Fpass, Fstop, Apass, Astop, Fs);
Hd = design(h, 'equiripple', ...
'MinOrder', 'any', ...
'StopbandShape', 'flat');
%f2滤波后的数据
f2 = filter(Hd,f);
%对比图
plot(t,f,'b',t,f2,'r');

根据你的题目设计一个butterworth的3阶滤波器
N=3;
[z,p,k]=buttap(N);求出该滤波器的零点和极点
OmegaC=2*pi*50; 给定的截止频率
p=p*OmegaC; 由于前面是归一化的,现在还原
k=k*OmegaC^N;
>> k=k*OmegaC^N;
B=real(poly(z));
b0=k;
b=k*B; 求出的模拟滤波器的分子系数
a=real(poly(p)); 求出的模拟滤波器的分母系数
a,b都是按s的降幂排列的
那么该题设计的滤波器是
分子9.6139e+014
分母s^3+628s^2+197292s+30990544
8 0 2016-06-12 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论