【学习笔记】matlab进行数字信号处理(三)数字滤波技术
【學習筆記】matlab進行數字信號處理(一)生成信號及信號的時域頻域分析
【學習筆記】matlab進行數字信號處理(二)信號的相關分析及幅值分析
【學習筆記】matlab進行數字信號處理(三)數字濾波技術
【學習筆記】matlab進行數字信號處理(四)信號的時頻域分析
b站視頻地址:https://www.bilibili.com/video/BV18E411f7ZQ?p=16&spm_id_from=pageDriver
第七章 信號的數字濾波技術
7.1 數字濾波器的概念
將低、中、高三種頻率的信號疊加在一起,頻譜有相應的低中高三個頻率成分
濾波前提:信號的頻率是不重疊的,這樣可以將干擾和信號分離
方法一:直接使用數字濾波器,采樣頻率至少是最高頻率的兩倍,為了不讓高頻成分發生頻譜混疊,這時采樣頻率必須非常高
方法二:如果先經過一個模擬濾波器,將高頻去掉,采樣頻率是低頻段最高頻率的兩被以上即可
所以,對于模擬和數字濾波器,由于濾波位置的不同,會影響采樣頻率
因此,當干擾信號是非常高的頻率成分時,必須用模擬濾波器將高頻成分去除掉,這樣才能降低采樣率,進而降低運算量
方法一:如果信號的有用成分是高頻成分,經過AD和濾波后得到的信號,AD的滿量程精度并不高,并沒有全用滿
方法二:在通過高通濾波器后,可以講幅值很大的低頻分量濾除掉,將其放大到滿量程,再進行AD轉換,此時會將AD的滿量程精度全部用上
所以,當干擾信號的量程很大,而有效信號的量程給非常小時,應該用模擬濾波器將大量程的干擾信號濾除,然后再放大和AD轉換
所以,模擬和數字濾波器的使用順序會影響采樣頻率和有效的AD位數
濾波器中的吉普現象, 實現左圖這種濾波的系統是理想的,是物理不可實現系統
可通過半功率點計算截止頻率;
紋波幅度指在頻率通帶內浮動的幅度;
帶寬指上限和下限截止頻率之差,帶寬除以中心頻率叫品質因數,品質因數越高,說明濾波器越窄,即頻率選擇性越強;
倍頻程選擇性W看10fc和fc之間衰減了多少,主要用來衡量濾波器的衰減速度,W越大,衰減速度越大
濾波器設計標準:1是過度區較窄,2是脈沖響應較短
實際這兩個指標是矛盾的,過渡區越陡,脈沖響應越寬
實際設計要根據這兩個參數進行平衡
頻域相乘,時域卷積
7.2 頻率域濾波
輸入信號進行FFT后,與頻率域定義的濾波器相乘,得到頻域的輸出信號,再進行傅立葉n逆變換得到輸出信號
在頻譜上直接處理,哪里不要,哪里直接清零
信號經過FFT變換,由實部和虛部兩部分構成;圖中黑色為正頻率部分,紅色為負頻率部分
這幾種濾波器虛部設為0
1、定義一個50、300、500Hz的測試組合信號,
2、進行FFT
3、定義一個低通濾波器
4、頻域相乘,再進行逆變換
由于數字濾波借用了FFT算法,將長數據信號分成很多時間片,分別進行濾波,濾波后再將每個時間片接起來
但是這個時間片的一頭一尾會有暫態效應,會存在失真,所以要對濾波后的數據進行掐頭去尾
如果取的是1024點,可以將尾部或頭部的64點去掉;如果取的是2048點,可以將尾部或頭部的128點去掉
7.3 時域濾波
由時域卷積分,寫到離散域,采集點的卷積分
離散域中將頻域的濾波器轉換到z域的濾波器
已知一個系統的拉式變換,可以直接求出z變換
時域濾波的關鍵就是得到Z變換形式的濾波器
生成一個低頻加高頻的合成信號,經過差分之后低頻被濾除掉,等效為一個高通濾波器
將一個測量點測很多次,然后求平均,此時可以將隨機測量誤差去除掉,這種數據平滑的過程,等價于一個簡單的低通濾波器
7.4 FIR濾波器
也叫有限脈沖響應濾波器,含義是指如果給濾波器一個脈沖信號,則單位脈沖響應是有限長度的
計數長度是20,f是頻率點,m是對應的幅值
折線是對應的理論上的濾波器,平滑的是實際的濾波器,點線是濾波器的脈沖響應
直觀,定義一個濾波器系統,給這個系統輸入一個脈沖激勵,系統的輸出就是脈沖響應,對這個響應離散取樣,就能夠得到脈沖響應的系數
v1是歸一化因子
強行的截斷,并不合理,需要對這種方法進行改進
理想低通濾波器,在傅立葉逆變換后系數長度為無窮,物理不可實現,但濾波器的系數長度只能是有限的,這樣在窗口外的數據認為強制的是0,只對窗口內的部分做傅立葉變換,頻率特性如右圖所示,但其中的跳變往往是我們不希望的
用一個窗函數對理想濾波器的脈沖響應相乘,使得窗口外的系數被衰減到0
用脈沖響應函數和漢寧窗相乘
優點:在截斷處沒有跳變
缺點:衰減特性變差
最常用的方法!去設計fir濾波器
以上的過程都集成到了fir1函數中
fir1
設計了一個48點的濾波器,濾波器的歸一化頻帶在0.35到0.65之間,用窗函數Blackman(窗函數的長度要不濾波器的長度加1)
freqz(b,1,512):畫出濾波器的頻率響應特性
fir1:用脈沖響應加窗函數實現的濾波器
濾波后頭部會有部分失真,filter函數
右一圖:1表示原始信號,2表示信號由3個頻率成分構成,3表示濾波后的效果
fir1(48,0.1):設計的是一個低通濾波器,fir1,48個點,歸一化截止頻率是0.1(濾波區間0~0.1)
fir1(48,[0.2,0.4]):帶通濾波器
fir1(48,0.4,‘high’):高通濾波器
fir2-復雜頻率通帶濾波器
fir1能定義的濾波器種類比較少,直上直下導致暫態效應比較重,吉普絲現象比較強烈
fir2比fir1有改進,定義若干個過渡衰減點,通過f 和m的數組去定義這樣的點,但fir2實際還是窗函數濾波
先定義一些頻率點及相應的幅值,再使用fir2去濾波
用fir2濾除高頻成分
fir2求出濾波器系數,然后使用filter進行濾波
和fir2一樣,用兩個數組去定義濾波器,用最小二乘求出濾波器的系數,可以保證在指定點處的誤差最小,但是點取的不好的話,結果可能比fir2要差
firls只是保證設定點的誤差最小,其余位置很難進行約束;fir2在設定點的特性不保證,但是整體尚可
作業
7.5 IIR濾波器
IIR傳遞函數有分母 ,FIR沒有分母
IIR脈沖響應是無限長的,在相同的長度和計算量時,IIR和FIR相比,幅頻濾波特性更好,相頻濾波特性差些,存在相位失真
FIR做成對稱或反對陳時,相位失真為0
首先定義一個模擬濾波器,然后通過傅立葉變換得到脈沖響應曲線,再對脈沖響應曲線進行離散取值,該方法叫脈沖響應不變法,在時域上讓數字濾波器模仿模擬濾波器,但這種方法會存在頻率混疊
解決頻譜混疊問題,將s域映射到一個有限的s區間內,再映射到z平面
設計一個butter 的低通濾波器,bilinear雙線性變換
將頻帶壓縮到歸一化頻帶當中去,不會發生頻譜混疊
最常用,在頻率通帶內特別平坦,阻帶能平滑的下降,2P階次越高,過渡帶越陡,衰減越快,但同時計算量也增加
這個濾波器有兩個參數:濾波器的階數、截止頻率的位置
過渡帶更陡峭,但是犧牲條件是在通帶內有波紋(切比雪夫1型);
(切比雪夫2型)在阻帶內有波紋
過渡帶更陡峭,但是通帶和阻帶都有波紋
iir濾波器-matlab函數
設計一個8階的巴特沃斯低通濾波器,歸一化頻率是0.1,然后用filter函數進行濾波
作業
7.6 其他濾波器
濾除掉特定點的頻率成分,而臨近的頻率成分依然能夠通過
左側是梳狀陷波濾波器(‘notch’),可以讓一組頻率成分阻斷掉,如f0、2f0、3f0等,這個濾波器在工程上很有用,因為干擾信號經常是諧波的關系,也就是說干擾除了在特定的頻率會有,在特定頻率的倍頻也會有
右側是梳妝尖峰濾波器(‘peak’),可以讓一組諧波頻率成分通過,常用于振動信號測量,往往很關心振動信號的基頻倍頻,希望把背景的非振動頻率成分濾除掉
小波設計理論的基礎,fir的一種
右1、2分別是半帶的低通和高通濾波器
分別通過半帶低通和半帶高通然后再疊加,發現和原信號一致,只是在開始部分有一定延遲,是由于濾波器的暫態效應導致的
正弦信號通過這個濾波器,結果是一個余弦信號,信號產生了90度相移,但是幅值不變
常用于包絡信號的檢波
信號外面的輪廓,叫信號的包絡,通過這個全通濾波器可以提取包絡
經過希爾伯特變換后,實部是原信號本身,虛部是原信號加90度相移
產生一個調幅波信號
z=abs(y)相當去取根號下實部的平方加虛部的平方,便成功提取了包絡
7.7 其他調制解調方法
最常用的是幅度調制AM
原理:如人說話是低頻信號,傳輸距離有限,這時可以和一個高頻載波相乘,通過發射臺發射出去,就可以傳輸幾百公里,在接收端對這樣的信號進行包絡檢波,提取出輪廓線/包絡,再由收音機播放出來
調幅波:A0cos(2pi*ft+相位)就是一個載波信號(就是個正弦波),x(t)是一個低頻信號,這時載波的幅值就會隨著低頻信號的幅值變化
調頻波:將測量信號放在頻率上,信號越大,載波的頻率越大,信號越小,載波的頻率越小,疏密有變化
調相波:載波的相位會發生變化
用400Hz載波進行調制
信號幅值最大點,載波頻率最高;信號幅值最小點,載波頻率最低
7.8 數字濾波的應用
作業
總結
以上是生活随笔為你收集整理的【学习笔记】matlab进行数字信号处理(三)数字滤波技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI 之 OpenCvSharp 安卓手
- 下一篇: 全国区块链信息服务备案超千个