导航:首页 > 使用方法 > matlab滤波器使用方法

matlab滤波器使用方法

发布时间:2022-04-18 16:30:29

⑴ matlab低通滤波程序,怎么

h = freqs(b, a, w) 根据系数向量计算返回滤波器的复频域响应。

调用这个低通滤波器时,使用下面的函数

sf=filter(a,b,s); %s为需滤波的数据,sf经过你设计的低通滤波器以后的新数据

⑵ matlab中怎么让信号通过滤波器

1、首先打开Matlab,鼠标点击图上的图标。

⑶ 急!Matlab里面模拟滤波器函数怎么使用啊谢谢!

你得到系数a,b后,你信号也知道吧,假设是x,然后你就用y=filter(b,a,x);
我当时学时也很困惑怎么用,后来我做的尝试,我给你一个例子看看吧,是我学习时自己写的
设计一个高通滤波器,并检验它的性能
采样率为10kHZ
阻带边缘为1.5Khz,衰减为40bB
通带边缘为2kHz,波纹为3Db
>>Fs=1e4;
>>fs=1.5e3;
>>fp=2e3;
>>As=40;
>>Rp=3;
>>wp=2*fp/Fs;
>>ws=2*fs/Fs;
>>[N,wn]=cheb2ord(wp,ws,Rp,As);
>>[b,a]=cheby2(N,As,wn,'high');
>>[db,mag,pha,grd,w]=freqz_m(b,a);
>> subplot(2,2,1);plot(w/pi,mag);
>> axis([0,1,0,1]);
>> setX([0 0.3 0.4 1]);
>>setY([0.01 0.7279 1])
>> title('Magnitude Response');
>> subplot(2,2,2);plot(w/pi,db);
>> axis([0 1 -70 0])
>> setX([0 0.3 0.4 1])
>> setY([-40 -2.7589])
>> title('Magnitude Response in dB');
然后给你一个信号x=cos(0.2*pi*n);
>>n=0:200;
>>x=cos(0.6*pi*n);
>>y=filter(b,a,x);
>>subplot(2,2,3);plot(n,x);
>>subplot(2,2,4);plot(n,y);
>>x1=fft(x,201);
>>x11=abs(x1);
>>subplot(2,2,1);stem(n,x11);
>>y1=fft(y,201);
>>y11=abs(y1);
>>subplot(2,2,2);stem(n,y11);
>>setX([0 60 140 201])
>>title('FFT of y');
>>subplot(2,2,1);stem(n,x11);
>>setX([0 60 140 201])
>>title('FFT of x');
>>g=x11-y11;
>>subplot(2,2,3);stem(n,g);
你运行一下,就可以看到结果,刚好把此信号滤掉
给你一个设计思路,你改变截止频率和阻带衰减就可以了
>> %假设截止频率为W,我随便定义一下
>> %比如wp=0.3*pi;ws=0.4*pi
>> wp=0.3*pi;ws=0.4*pi;
>> %阻带衰减为50分贝
>> %通带波纹为0.2分贝
>> As=50;Rp=0.2;
>> %那么可以用两个函数得到系数a,b
>> [N,wn]=buttord(wp/pi,ws/pi,Rp,As);
>> [b,a]=butter(N,wn);
>> %该滤波器就是从截止频率到无穷远都不响应
希采纳

如何使用Matlab数字滤波器

直接用fda tool工具,图文并茂,很简单,第一步聚先按要求生成滤波器,第二步骤把生成的滤波器系数数导出,然后再fpga里就可以用了。

⑸ matlab中用fdatool设计的滤波器如何使用

我们知道设计一个fir滤波器,首先要知道它的冲击函数,或者说它的系数,如何知道它的序数呢,那就要根据要求设计啦。matab中为我们提供了很多有用的窗函数,可以直接调用;不过从最优化的角度来说remez函数是最好的。其优点是,设计指标相同时,使滤波器阶数最低;或阶数相同时,使通带最平坦,阻带最小衰减最大;通带和阻带均为等波形形式。具体用法可以参考matalb中的帮助文件。同样matlab里面的toolbox中也有一个工具filterdesign是直接可以用来设计滤波器的,你只要直接输入设计要求既可以得出序数。
设计好了滤波器,我们下一步就是如何用vhdl实现它。由于我们用matalb得到的系数是浮点数,处理起来不方便。这就要求我们将其定点化,如何定点化呢,就是将它化为整数,乘以一个倍数即可。但是为了后面处理方便,一般是乘以2的n次方。定点化后就根据滤波器输入与输出的关系式进行编程,其实就是一个相乘累加的关系。最后结果我们要再缩小。还有一个问题就是结果用什么形式的数来表示,我觉得用补码表示比较好一点,因为很多AD或DA都是补码的,计算机内也是这样的。

⑹ matlab怎么调用fdatool的滤波器

在fdatool中设计好高通滤波器后,选择菜单中的file->export...可以把滤波器的系统函数的系数导出来,如果设计的是fir滤波器,变量名默认为num,就相当于你的fir滤波器的hn。假设你的要滤波的输入序列为x的话,滤波结果
y
=
filter(num,
1,
x);
如果设计的是iir滤波器,输出的变量有两个:sos和g,这是以直接ii型结构给出的系数,需要通过调用函数
[b,
a]=sos2tf(sos,g),转化为多项式形式的系数,然后可用于滤波。假设你的要滤波的输入序列为x的话,滤波结果
y
=
filter(b,
a,
x);
p.s.
使用plot(y)可以画出滤波后的波形。

⑺ matlab如何进行低通滤波

楼主你好
滤波要先设计滤波器,b,a代表滤波器设计的参数。一般可以使用巴特沃斯滤波器。

例如低通滤波器的设计代码为:
data = importdata('t2.txt');
Time = data(:,1);

SA = data(:,2);
dtt=diff(Time);
dt=sum(dtt)/length(dtt);
Fs=round(1/dt);%采样频率
Wp = 5/(Fs/2); %通带截止频率,这个自定大致定义
Ws = 10/(Fs/2);%阻带截止频率,这个自定大致定义
Rp = 2; %通带内的衰减不超过Rp,这个自定大致定义
Rs = 40;%阻带内的衰减不小于Rs,这个自定大致定义
[n,Wn] = buttord(Wp,Ws,Rp,Rs);%巴特沃斯数字滤波器最小阶数选择函数
[b,a] = butter(n,Wn);%巴特沃斯数字滤波器

[h,w]=freqz(b,a,512,Fs); %计算滤波器的频率响应
plot(w,abs(h))%,'LineWidth',1绘制滤波器的幅频响应图
%**************************************************************************

%对输入的信号进行滤波
RollAf=filtfilt(b,a,RollA);%filtfilt这个函数是0相位滤波,没有偏移。filter有偏移。

**************************************************************************
%% 滤波结果绘图

figure

subplot(2,2,1)
H=plot(Time,RollA,Time,RollAf,'r--');%,'linewidth',3
set(H(2),'linewidth',2)

其中;Wp,Ws是一元向量时,则设计的是低通或高通滤波器,若Wp,Ws是二元向量,则设计带通或带阻滤波器。

可以使用fft函数。
希望对你有帮助,

⑻ matlab里面的滤波工具怎么用啊

给你个高斯滤波器的例子吧,照着这个写,那些滤波器都一个样:
I=imread('lenna.bmp');
figure,imshow(I);title('原始图像');
[f1,f2]=freqspace(size(I),'meshgrid');
D=100/size(I,2);
Hd=ones(size(I));
r=f1.^2+f2.^2;
for i=1:size(I,1)
for j=1:size(I,2)
t=r(i,j)/(D*D);
Hd(i,j)=exp(-t);
end
end
Y=fft2(double(I));
Y=fftshift(Y);
Ya=Y.*Hd;
Ya=ifftshift(Ya);
Ia=ifft2(Ya);figure(2)
imshow(uint8(Ia));title('高斯滤波后');

⑼ matlab低通滤波程序,怎么用

h = freqs(b, a, w) 根据系数向量计算返回滤波器的复频域响应。

调用这个低通滤波器时,使用下面的函数

sf=filter(a,b,s); %s为需滤波的数据,sf经过你设计的低通滤波器以后的新数据

⑽ MATLAB数值滤波处理方法有哪些

MATLAB数值滤波处理方法有:

首先关于fspecial函数的定义,fspecial函数用于建立预定义的滤波算子。

其语法格式为:

h = fspecial(type)

h = fspecial(type,para)

其中type指定算子的类型,para指定相应的参数;

函数type的类型有:

1、'average'averaging filter为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。

函数格式:H = fspecial('average',hsize)

2、 'disk'circular averaging filter为圆形区域均值滤波,参数为radius代表区域半径,默认值为5。

函数格式:H = fspecial('disk',radius)

3、'gaussian'Gaussian lowpass filter为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5。

函数格式:H = fspecial('gaussian',hsize,sigma)

4、'laplacian' filter approximating the 2-D Laplacian operatorlaplacian filter为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2.

函数格式:H = fspecial('laplacian',alpha)

5、'log'Laplacian of Gaussian filter为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准差,单位为像素,默认值为0.5。

函数格式:H = fspecial('log',hsize,sigma)

6、'motion'motion filter运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0。

函数格式:H = fspecial('motion',len,theta)

7、'prewitt'Prewitt horizontal edge-emphasizing filter用于边缘增强,大小为[3 3],无参数。

函数格式:H = fspecial('prewitt')

8、'sobel'Sobel horizontal edge-emphasizing filter用于边缘提取,无参数

函数格式:H = fspecial('sobel')the filter H: H'.9、'unsharp'unsharp contrast enhancement filter为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.函数格式:H = fspecial('unsharp',alpha)

阅读全文

与matlab滤波器使用方法相关的资料

热点内容
老人机短信中心在哪里设置方法 浏览:852
化肥中氮的含量检测方法视频 浏览:74
照片如何加水印方法 浏览:534
有点打呼噜有什么好方法 浏览:404
如何赏析诗句方法公式 浏览:723
快速融化冰块的方法 浏览:129
手臂痛怎么治疗方法 浏览:483
days360函数的使用方法 浏览:631
治疗湿尤有效方法 浏览:911
小米的快捷键设置在哪里设置方法 浏览:771
用底线思维方法解决问题 浏览:279
检测方法elisa法 浏览:194
远离口臭的最佳治疗方法 浏览:684
中药及其制剂常用的纯化方法 浏览:153
充电机使用方法步骤12V 浏览:1001
正确怀孕的方法 浏览:52
iphone6跳屏解决方法 浏览:897
怎么鉴定玉的真假最简单的方法 浏览:62
椰子鞋带交叉方法视频 浏览:528
画轴力图的简便方法 浏览:903