MATLAB数字信号处理函数
MATLAB數(shù)字信號處理函數(shù)(自學(xué)筆記4)
筆者正在學(xué)習(xí)matlab的m函數(shù),本文為學(xué)習(xí)筆記的其中之一。本文主要介紹數(shù)字信號處理相關(guān)的函數(shù)。
文章目錄
- MATLAB數(shù)字信號處理函數(shù)(自學(xué)筆記4)
- FIR濾波器設(shè)計(jì) - fir1()
- 頻率響應(yīng) - freqz()
- 復(fù)頻域響應(yīng) - freqs()
- 布萊克曼窗 - blackman()
- 快速傅里葉變換 - fft()
- 語法
- 說明
- 快速傅里葉反變換 - ifft
- 語法
- 說明
FIR濾波器設(shè)計(jì) - fir1()
FIR濾波器設(shè)計(jì)函數(shù),其定義如下
b = fir1(n, Wn) %用漢明窗產(chǎn)生一個濾波器系數(shù)n -- 濾波器的階數(shù),默認(rèn)漢明窗 Wn -- 頻率,1個元素為低通濾波器,2個元素為帶通濾波器,3個及以上為多頻濾波器-- Wn = Flpf / (Fs /2 ), Fs為采樣頻率,Flpf為低通濾波器截止頻率 b -- 生成的濾波器系數(shù)頻率響應(yīng) - freqz()
求取離散系統(tǒng)頻率響應(yīng)特性的函數(shù)。其定義如下
[H,w] = freqz(B, A, N); %N默認(rèn)值為512%默認(rèn)區(qū)間 0 : pi [H,w] = freqz(B, A, N, 'whole'); %主值區(qū)間 -pi : pi [H,w] = freqz(B, A, [自定義區(qū)間]); %如 [0 : 2*pi/n : 2pi]B和A分別為離散系統(tǒng)的系統(tǒng)函數(shù)分子、分母多項(xiàng)式的系數(shù)向量;
N為正整數(shù);
返回值H包含了離散系統(tǒng)頻率響應(yīng) 在 0 - pi 范圍內(nèi)N個頻率等分點(diǎn)的值;
向量w則包含范圍內(nèi)N個頻率等分點(diǎn)。
復(fù)頻域響應(yīng) - freqs()
返回模擬濾波器H(jw)的復(fù)頻域響應(yīng)(拉普拉斯格式)
H = freqs(B, A, w); %根據(jù)系數(shù)向量計(jì)算返回模擬濾波器的復(fù)頻域響應(yīng)。%freqs計(jì)算在復(fù)平面虛軸上的頻率響應(yīng)H,%角頻率w確定了輸入的實(shí)向量,因此必須包含至少一個頻率點(diǎn) [H,w] = freqs(B, A); %自動挑選200個頻率點(diǎn)來計(jì)算復(fù)頻域頻率響應(yīng)H [H,w] = freqs(B, A, f); %挑選f個頻率點(diǎn)來計(jì)算復(fù)頻域頻率響應(yīng)H布萊克曼窗 - blackman()
產(chǎn)生一個布萊克曼窗
Windows = blackman(N); %產(chǎn)生一個長度為N的布萊克曼窗快速傅里葉變換 - fft()
語法
Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim)說明
Y = fft(X)
Y = fft(X) 用快速傅里葉變換 (FFT) 算法計(jì)算 X 的離散傅里葉變換 (DFT)。
-
如果 X 是向量,則 fft(X) 返回該向量的傅里葉變換。
-
如果 X 是矩陣,則 fft(X) 將 X 的各列視為向量,并返回每列的傅里葉變換。
-
如果 X 是一個多維數(shù)組,則 fft(X) 將沿大小不等于 1 的第一個數(shù)組維度的值視為向量,并返回每個向量的傅里葉變換。
Y = fft(X,n)
Y = fft(X,n) 返回 n 點(diǎn) DFT。如果未指定任何值,則 Y 的大小與 X 相同。
-
如果 X 是向量且 X 的長度小于 n,則為 X 補(bǔ)上尾零以達(dá)到長度 n。
-
如果 X 是向量且 X 的長度大于 n,則對 X 進(jìn)行截?cái)嘁赃_(dá)到長度 n。
-
如果 X 是矩陣,則每列的處理與在向量情況下相同。
-
如果 X 為多維數(shù)組,則大小不等于 1 的第一個數(shù)組維度的處理與在向量情況下相同。
Y = fft(X,n,dim)
Y = fft(X,n,dim) 返回沿維度 dim 的傅里葉變換。例如,如果 X 是矩陣,則 fft(X,n,2) 返回每行的 n 點(diǎn)傅里葉變換。
快速傅里葉反變換 - ifft
語法
X = ifft(Y) X = ifft(Y,n) X = ifft(Y,n,dim) X = ifft(___,symflag)說明
X = ifft(Y) 使用快速傅里葉變換算法計(jì)算 Y 的逆離散傅里葉變換。X 與 Y 的大小相同。
-
如果 Y 是向量,則 ifft(Y) 返回該向量的逆變換。
-
如果 Y 是矩陣,則 ifft(Y) 返回該矩陣每一列的逆變換。
-
如果 Y 是多維數(shù)組,則 ifft(Y) 將大小不等于 1 的第一個維度上的值視為向量,并返回每個向量的逆變換。
X = ifft(Y,n) 通過用尾隨零填充 Y 以達(dá)到長度 n,返回 Y 的 n 點(diǎn)傅里葉逆變換。
X = ifft(Y,n,dim) 返回沿維度 dim 的傅里葉逆變換。例如,如果 Y 是矩陣,則 ifft(Y,n,2) 返回每一行的 n 點(diǎn)逆變換。
X = ifft(___,symflag) 指定 Y 的對稱性。例如,ifft(Y,‘symmetric’) 將 Y 視為共軛對稱。
總結(jié)
以上是生活随笔為你收集整理的MATLAB数字信号处理函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XScuGic_Connect分析
- 下一篇: AXI-IIC官方示例解析