信號處理趣學D11——怎麼避免信號調質過程的時候重疊失真?

重疊失真(alisasing)或者混疊失真是在信號調製的時候,載波頻率小於原信號最高頻率導致的。下面小虎就帶大家用MATLAB仿真理解一下。

仿真結果

原始信號如下:
y1=sin(200πt)y_1=sin(200\pi t)
調質頻率分別是300Hz和50Hz

下面一組圖中,從左到右、上到下依次是原始信號1、調幅波1,2、解調波1,2的時域圖像。
在這裏插入圖片描述

  • 可以看到,由於調製頻率50Hz比原始信號的頻率100Hz小,所以調幅波出現波峯混亂的情況。
  • 解調後,由於重疊失真,導致解調後的波形與原始信號極大偏離
  • 爲了避免重疊失真,參考信號採樣中的採樣定理,載波頻率應該比原始信號的頻率大。實際使用中,載波頻率至少數倍甚至數十倍大於原始信號的最高頻率

代碼分析

參數設置

採樣頻率是44100,採樣間隔1/44100。調質波爲:
y=sin(200πt)y=sin(200\pi t)

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——怎麼避免信號調質過程的時候失真?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章