導航:首頁 > 使用方法 > 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濾波器使用方法相關的資料

熱點內容
治療濕尤有效方法 瀏覽:909
小米的快捷鍵設置在哪裡設置方法 瀏覽:770
用底線思維方法解決問題 瀏覽:277
檢測方法elisa法 瀏覽:191
遠離口臭的最佳治療方法 瀏覽:684
中葯及其制劑常用的純化方法 瀏覽:151
充電機使用方法步驟12V 瀏覽:1001
正確懷孕的方法 瀏覽:50
iphone6跳屏解決方法 瀏覽:895
怎麼鑒定玉的真假最簡單的方法 瀏覽:60
椰子鞋帶交叉方法視頻 瀏覽:528
畫軸力圖的簡便方法 瀏覽:902
教學方法包含了教學手段 瀏覽:344
媽媽尿毒症的最佳治療方法 瀏覽:957
齒痕舌的原因和治療方法 瀏覽:759
高里程數計算方法 瀏覽:869
15x120簡便計算方法 瀏覽:57
成武白酥雞的食用方法 瀏覽:866
農村打灶方法視頻 瀏覽:116
讓皮膚快速變白的方法 瀏覽:179