matlab訊號分析:理解取樣中的頻率混疊
阿新 • • 發佈:2019-01-29
理解取樣中的頻率混疊
原理
- AD數模轉換器通過取樣將模擬訊號轉變為數字訊號
- 取樣頻率應大於模擬訊號頻率的2倍。原因:一個週期內最少採兩個點才能保留模擬訊號的週期資訊)
- 當取樣頻率小魚模擬訊號頻率的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後,就出現了頻率混疊現象。