本文會介紹簡單的模擬調製解調方法,涉及AM、DSB、SSB,但沒有VSB,VSB相關的資料會在後文附上。

幅度調製

幅度調製原理

幅度調製是由調製信號去控制高頻載波的幅度,使之隨調製信號作線性變化的過程

簡單的說,幅度調製的作用就是使得載波的幅度承載信息。

設正弦型載波為:

式中:A為載波幅度,ω為載波角頻率,φ為載波初始相位

幅度已調信號一般可表示為:

式中:m(t)為基帶調製信號

設m(t)的頻譜為M(ω),則s(t)的頻譜為:

從頻域表達式可以看出,幅度調製信號為調製信號在頻域上的線性搬移。不過實際上,任何一種調製都是非線性的。

調幅(AM)

調幅的時域表達式為:

式中:A0為外加直流分量,Ac為載波信號的最大幅值,Ka為調製度

matlab實現過程如下:

生成調製信號

A0 = 0.1;
Ka = 0.5;
Fs = 300;

% Modulating signal
Am = 1;
fa = 10;
Ts = 1/Fs;
t = 0:Ts:1-Ts;
ym = Am*sin(2*pi*fa*t);
figure(1);
subplot(3,2,1);
plot(t,ym);
title(Modulating signal);

[YfreqDomain,frequencyRange] = centeredFFT(ym,Fs);
subplot(3,2,2)
stem(frequencyRange,abs(YfreqDomain));

生成載波信號

%Carrier signal
Ac = 1;
fc = fa*10;
Tc = 1/fc;
yc = Ac*sin(2*pi*fc*t);
subplot(3,2,3);
plot(t,yc);
title(Carrier signal);

[YfreqDomain,frequencyRange] = centeredFFT(yc,Fs);
subplot(3,2,4)
stem(frequencyRange,abs(YfreqDomain));

生成已調信號

%AM Modulation
y = Ac*(A0 + Ka*ym).*yc;
subplot(3,2,5);
plot(t,y);
title ( Amplitude Modulated signal);

[YfreqDomain,frequencyRange] = centeredFFT(y,Fs);
subplot(3,2,6)
stem(frequencyRange,abs(YfreqDomain));

滿調製的效果如下:

通過調節Ka的值,可以控制調製深度

Ka<1時為欠調製,效果如下:

Ka>1時為過調製,效果如下:

雙邊帶調製(DSB)

在幅度調製中,載波分量並不攜帶信息。為了提高效率,將AM調製的A0去掉,同時也可以減小功率,從而得到雙邊帶調製。

其時域表達式為:

matlab實現過程如下:

調製信號和載波信號用前面給出的,以下是已調信號:

y = ym.*yc;
subplot(3,2,5);
plot(t,y);
title ( Double-sideband Modulated signal);

[YfreqDomain,frequencyRange] = centeredFFT(y,Fs);
subplot(3,2,6)
stem(frequencyRange,abs(YfreqDomain));
axis([-(fc+fa+5) +(fc+fa+5) 0 0.3]);
title ( Frequency of double-sideband Modulated signal);

效果如下:

單邊帶調製(SSB)

注意看就會發現,DSB的頻譜上邊帶和下邊帶是一樣的,完全可以去掉其中一個邊帶,這樣可以節省一半的帶寬,這種調製方式就是單邊帶調製。

一想到要去掉一個邊帶,自然就會想到使用濾波的方法。

頻域表達式為:

matlab實現為:

y = ym.*yc;
Hd = getHighPassFilter;
y = filter(Hd,y);
subplot(3,2,5);
plot(t,y);
title ( Single-sideband Modulated signal);

[YfreqDomain,frequencyRange] = centeredFFT(y,Fs);
subplot(3,2,6)
stem(frequencyRange,abs(YfreqDomain));
axis([-(fc+fa+5) +(fc+fa+5) 0 0.3]);
title ( Frequency of single-sideband Modulated signal);

濾波器的實現如下:

function Hd = getHighPassFilter
%GETFILTER Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 9.4 and DSP System Toolbox 9.6.
% Generated on: 27-Aug-2018 17:17:35

Fstop = 100; % Stopband Frequency
Fpass = 108; % Passband Frequency
Astop = 60; % Stopband Attenuation (dB)
Apass = 1; % Passband Ripple (dB)
Fs = 300; % Sampling Frequency

h = fdesign.highpass(fst,fp,ast,ap, Fstop, Fpass, Astop, Apass, Fs);

Hd = design(h, kaiserwin, ...
MinOrder, any);

效果如下:

殘留邊帶調製(VSB)

VSB調製有點複雜,實現的過程我還是不太清楚,只知道大致的作用。

雖然SSB在一般情況下是沒有問題的,但是當調製信號頻率較低(比如模擬電視信號),上邊帶和下邊帶頻率會在載波頻率重合,這種情況下設計一個直接隔離這兩條邊帶的濾波器是基本不可能的(濾波器的歸一化值不能小於0.01,假設目標頻率為6MHz,那麼過渡帶最少就需要600Hz),從而會導致信號丟失一些信息。

在參考資料中有提供VSB的詳細文檔介紹

幅度解調

解調有兩種方法:相干解調和非相干解調(包絡檢波)

相干解調

相干解調原理很簡單,就是將搬移後的已調波頻譜再搬移回去。

這就需要一個與發送已調波載波信號同頻同向的本地載波,它與接收的已調信號相乘後,經過低通濾波後就得到原始基帶信號。

已調信號一般時域表達式為:

與本地載波相乘後得到:

經過一個低通濾波器濾除ω載波分量後,就可以得到原始基帶信號。

AM解調

matlab實現如下:

% AM Demodulation
figure;

sd = y.*yc*2 - A0;
H_am = demod_filter;
sd = filter(H_am,sd);
plot(t,sd);
title(Demodulated and true message signals for AM);

濾波器實現如下:

function Hd = demod_filter
%GETFILTER Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 9.4 and DSP System Toolbox 9.6.
% Generated on: 29-Aug-2018 20:44:14

Fpass = 10; % Passband Frequency
Fstop = 90; % Stopband Frequency
Apass = 1; % Passband Ripple (dB)
Astop = 60; % Stopband Attenuation (dB)
Fs = 300; % Sampling Frequency

h = fdesign.lowpass(fp,fst,ap,ast, Fpass, Fstop, Apass, Astop, Fs);

Hd = design(h, kaiserwin, ...
MinOrder, any);

效果如下:

DSB解調

DSB解調方法和AM解調一樣,就不貼代碼了

效果如下:

SSB解調

SSB的解調需要注意的是,由於削去了一半的信號,所以解調出來的信號不再是原始基帶信號的一半幅度,而是四分之一,從時域表達式也可以看得出。

SSB的時域表達式為:

因此matlab實現需要稍作修改:

% SSB Demodulation
figure;

sd = y.*yc*4;
H_am = demod_filter;
sd = filter(H_am,sd);
plot(t,sd);
title(Demodulated and true message signals for SSB);

效果如下:

所有代碼已上傳Github

github.com/greedyhao/Wi

複製鏈接到瀏覽器可以下載代碼

網上某位大神給的模擬調製解調的實現

colorado.edu/ECE/ecen42

他做了GUI,而且他的濾波器是用模擬濾波器,比我對模擬調製解調友好一些(畢竟是模擬的嘛),我用數字濾波器做完後才反應過來,我是對信號採樣後用數字濾波器處理的。


參考資料

  1. tutorialspoint
  2. 《通信原理》樊昌信 第七版
  3. Vestigial Side Band (VSB) Modulation Formats for Ultra-highCapacity 40 Gb/s Optical Communications Systems
  4. Vestigial Sideband Modulation (VSB)

個人博客

微信公眾號:greedyhao


推薦閱讀:
相關文章