1. 程式人生 > >matlab訊號分析:理解取樣中的頻率混疊

matlab訊號分析:理解取樣中的頻率混疊

理解取樣中的頻率混疊

原理

  1. AD數模轉換器通過取樣將模擬訊號轉變為數字訊號
  2. 取樣頻率應大於模擬訊號頻率的2倍。原因:一個週期內最少採兩個點才能保留模擬訊號的週期資訊)
  3. 當取樣頻率小魚模擬訊號頻率的2倍時,會發生頻率混疊。即從原始的高頻訊號變為低頻訊號。(所以有些測量系統會加上低通濾波器來防止此現象發生)

程式碼

寫了個簡單的GUI,核心程式碼如下:

function pushbutton1_Callback(hObject, eventdata, handles)
% 這個案例很好的理解頻率混疊現象
f=str2double(get(handles.edit1,'String'
)); Fs=100; %取樣率預設設為100;所以輸入的f在<50時能較好的取樣;若>50就出現頻率混疊現象 dt=1.0/Fs; %取樣時間間隔 T=1; %取樣時間 N=T/dt; %取樣點個數:T*Fs t=linspace(0,T,N); %取樣時間點,列表 x=0.5*sin(2*pi*f*t); %相當於ad轉換。實際中也是音效卡完成。 plot(t,x,'r');

執行結果如下:
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

可以看出:
1. 當訊號頻率f<2Fs時,訊號取樣是準確的;
2. 當訊號頻率f>=2Fs後,就出現了頻率混疊現象。