重疊失真(alisasing)或者混疊失真是在信號調製的時候,載波頻率小於原信號最高頻率導致的。下面小虎就帶大家用MATLAB仿真理解一下。
仿真結果
原始信號如下:
調質頻率分別是300Hz和50Hz
下面一組圖中,從左到右、上到下依次是原始信號1、調幅波1,2、解調波1,2的時域圖像。
- 可以看到,由於調製頻率50Hz比原始信號的頻率100Hz小,所以調幅波出現波峯混亂的情況。
- 解調後,由於重疊失真,導致解調後的波形與原始信號極大偏離。
- 爲了避免重疊失真,參考信號採樣中的採樣定理,載波頻率應該比原始信號的頻率大。實際使用中,載波頻率至少數倍甚至數十倍大於原始信號的最高頻率。
代碼分析
參數設置
採樣頻率是44100,採樣間隔1/44100。調質波爲:
Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;
x1=sin(2*pi*100*t);
調製
% fz=300Hz
subplot(2,2,1)
x2=ammod(x1,300,Fs,0);
plot(t,x2);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,2)
x4=ammod(x1,50,Fs,0);
plot(t,x4);
axis([0,0.2,-1.2,1.2]);
解調
% fz=300Hz
subplot(2,2,3)
x3=amdemod(x2,300,Fs,0);
plot(t,x3);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,4)
x5=amdemod(x4,50,Fs,0);
plot(t,x5);
axis([0,0.2,-1.2,1.2]);
完整代碼
Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;
x1=sin(2*pi*100*t);
% fz=300Hz
subplot(2,2,1)
x2=ammod(x1,300,Fs,0);
plot(t,x2);
axis([0,0.2,-1.2,1.2]);
subplot(2,2,3)
x3=amdemod(x2,300,Fs,0);
plot(t,x3);
axis([0,0.2,-1.2,1.2]);
% fz=50Hz
subplot(2,2,2)
x4=ammod(x1,50,Fs,0);
plot(t,x4);
axis([0,0.2,-1.2,1.2]);
subplot(2,2,4)
x5=amdemod(x4,50,Fs,0);
plot(t,x5);
axis([0,0.2,-1.2,1.2]);
參考資料
[1] 張春華等,工程測試技術基礎(第二版),華中科技大學出版社
[2] 何嶺鬆等,中國大學MOOC——工程測試技術基礎
更多
信號處理趣學D0——系列專欄的說明與目錄
信號處理趣學D1——相關函數的意義&利用自相關函數消除噪聲
信號處理趣學D2——利用自相關函數對分析音頻的週期變化
信號處理趣學D3——工程測試技術模擬信號採樣
信號處理趣學D4——利用諧波疊加對週期方波進行逼近
信號處理趣學D5——利用仿真教你理解週期混疊和採樣定理
信號處理趣學D6——利用MATLAB畫出非周期函數的頻譜圖
信號處理趣學D7——自功率譜的物理意義&通過自功率譜分析原信號的簡諧分量
信號處理趣學D8——關於拉氏變換和頻譜圖的那些事兒
信號處理趣學D9——教你仿真理解信號的調製和解調
信號處理趣學D10——簡單理解過調失真(附例子和代碼)
信號處理趣學D11——怎麼避免信號調質過程的時候失真?