1. 程式人生 > 其它 >【模擬訊號】基於matlab標準調幅訊號產生+解調【含Matlab原始碼 984期】

【模擬訊號】基於matlab標準調幅訊號產生+解調【含Matlab原始碼 984期】

一、簡介

1 調製原理
常規雙邊帶調幅又叫標準調幅,簡稱調幅(AM)。假設調製訊號 m(t) 的平均值為 0,將其加上一個直流分量 A0 後與載波相乘就可以得到AM訊號。
調製模型如下圖所示:

2 解調原理
對於AM訊號來說,使用兩種解調方式:相干解調和非相干解調均可。在通常情況下,因為其包絡與調製訊號 m(t)的形狀、波形起伏完全一致。故可以使用實現較為簡便的包絡檢波法來恢復原訊號。
包絡檢波器如下圖所示:

其中,利用的原理分別是二極體的單向導通性、電容的高頻旁路特性和電容的隔直特性。

二、原始碼

t0=0.1; 
fs=12000; %取樣頻率
fc=1000;%載波頻率
Vm=2;%載波振幅
A0=1;%直流分量
n=-t0/2:1/fs:t0/2;
x=cos(150*pi*n);%調製訊號
y2=Vm*cos(2*pi*fc*n);%載波訊號
N=length(x);
Y2=fft(y2);
figure(1);
function [b,a] = u_buttap(N,Omegac);
% Unnormalized Butterworth Analog Lowpass Filter Prototype
% --------------------------------------------------------
% [b,a] = u_buttap(N,Omegac);
%      b = numerator polynomial coefficients of Ha(s)
%      a = denominator polynomial coefficients of Ha(s)
%      N = Order of the Butterworth Filter
% Omegac = Cutoff frequency in radians/sec
%
[z,p,k] = buttap(N);
      p = p*Omegac;
      k = k*Omegac^N;
      B = real(poly(z));
      b0 = k;
      b = k*B;
      function [b,a] = imp_invr(c,d,T)
% Impulse Invariance Transformation from Analog to Digital Filter
% ---------------------------------------------------------------
% [b,a] = imp_invr(c,d,T)
%  b = Numerator polynomial in z^(-1) of the digital filter
%  a = Denominator polynomial in z^(-1) of the digital filter
%  c = Numerator polynomial in s of the analog filter
%  d = Denominator polynomial in s of the analog filter
%  T = Sampling (transformation) parameter
%
[R,p,k] = residue(c,d);
p = exp(p*T);
% 注:  wp(或Wp)為通帶截止頻率   ws(或Ws)為阻帶截止頻率   Rp為通帶衰減  As為阻帶衰減
%butterworth低通濾波器原型設計函式  要求Ws>Wp>0    As>Rp>0 
function [b,a]=afd_butt(Wp,Ws,Rp,As)
N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws)));
    %上條語句為求濾波器階數      N為整數
    %ceil 朝正無窮大方向取整

三、執行結果


四、備註

版本:2014a
完整程式碼或代寫加1564658423