模拟信号基于matlab标准调幅信号产生+解调含Matlab源码 984期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟信号基于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
以上是关于模拟信号基于matlab标准调幅信号产生+解调含Matlab源码 984期的主要内容,如果未能解决你的问题,请参考以下文章