基于MATLAB的AM调制与相干解调

loading 分享 2026-9-5 下载文档

AM的调制与相干解调

%四个函数放在同一路径下即可

function am_xianggan() close all; clear all; dt=0.001; fm=1; fc=10; T=5; t=0:dt:T;

mt=sqrt(2)*cos(2*pi*fm*t); A=2;

s_am=(A+mt).*cos(2*pi*fc*t); figure(1); subplot(311);

plot(t,s_am);hold on; plot(t,A+mt,'r--');

title('AMμ÷??D?o??°??°ü??'); xlabel('t');

rt=s_am.*cos(2*pi*fc*t); rt=rt-mean(rt); [f,rf]=T2F(t,rt); [t,rt]=lpf(f,rf,2*fm); subplot(312); plot(t,rt);hold on; plot(t,mt/2,'r--');

title('?à?é?aμ÷oóD?o?2¨D?ó?ê?è?D?o?μ?±è??'); xlabel('t'); subplot(313); [f,sf]=T2F(t,s_am); psf=(abs(sf).^2)/T; plot(f,psf);

axis([-2*fc 2*fc 0 max(psf)]); title('AMD?o?1|?ê?×'); xlabel('f');

function [t st]=F2T(f,sf)

%This function calculate the time signal using ifft function for the input %signal's spectrum

df = f(2)-f(1);

Fmx = ( f(end)-f(1) +df); dt = 1/Fmx; N = length(sf); T = dt*N;

%t=-T/2:dt:T/2-dt; t = 0:dt:T-dt;

sff = fftshift(sf); st = Fmx*ifft(sff);

function [f,sf]= T2F(t,st)

%This is a function using the FFT function to calculate a signal's Fourier %Translation

%Input is the time and the signal vectors,the length of time must greater %than 2

%Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T; N = length(st);

f=-N/2*df:df:N/2*df-df; sf = fft(st);

sf = T/N*fftshift(sf);

function [ t,st] = lpf( f,sf,B) df=f(2)-f(1); T=1/df;

hf=zeros(1,length(f));

bf=[-floor(B/df):floor(B/df)]+floor(length(f)/2); hf(bf)=1; yf=hf.*sf; [t,st]=F2T(f,yf); st=real(st); end

运行>> am_xianggan()


基于MATLAB的AM调制与相干解调.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于MATLAB的AM调制与相干解调 的文档
相关推荐
相关阅读