线性调制程序.docx
- 文档编号:23938341
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:22
- 大小:17.45KB
线性调制程序.docx
《线性调制程序.docx》由会员分享,可在线阅读,更多相关《线性调制程序.docx(22页珍藏版)》请在冰豆网上搜索。
线性调制程序
AM解调
%am-dem.m
%Matlabdemonstrationscriptforenvelopedetection.Themessagesignal
%is+1for0 echoon t0=.15;%signalduration ts=0.001;%samplinginterval抽样时间 fc=250;%carrierfrequency载波频率 a=0.85;%Modulationindex fs=1/ts;%samplingfrequency采样频率 t=[0: ts: t0];%timevector df=0.25;%requiredfrequencyresolution %messagesignal m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; c=cos(2*pi*fc.*t);%carriersignal m_n=m/max(abs(m));%normalizedmessagesignal [M,m,df1]=fftseq(m,ts,df);%Fouriertransform f=[0: df1: df1*(length(m)-1)]-fs/2;%frequencyvector u=(1+a*m_n).*c;%modulatedsignal [U,u,df1]=fftseq(u,ts,df);%Fouriertransform env=env_phas(u);%findtheenvelope dem1=2*(env-1)/a;%removedcandrescale signal_power=spower(u(1: length(t)));%powerinmodulatedsignal noise_power=signal_power/100;%noisepower noise_std=sqrt(noise_power);%noisestandarddeviation noise=noise_std*randn(1,length(u));%generatenoise r=u+noise;%addnoisetothemodulatedsignal [R,r,df1]=fftseq(r,ts,df);%Fouriertransform env_r=env_phas(r);%envelope,whennoiseispresent dem2=2*(env_r-1)/a;%demodulateinthepresenceofnoise pause%Pressanykeytoseeaplotofthemessage subplot(2,1,1) plot(t,m(1: length(t))) axis([00.15-2.12.1]) xlabel('Time') title('Themessagesignal') pause%Pressanykeytoseeaplotofthemodulatedsignal subplot(2,1,2) plot(t,u(1: length(t))) axis([00.15-2.12.1]) xlabel('Time') title('Themodulatedsignal') pause%Pressakeytoseetheenvelopeofthemodulatedsignal clf subplot(2,1,1) plot(t,u(1: length(t))) axis([00.15-2.12.1]) xlabel('Time') title('Themodulatedsignal') subplot(2,1,2) plot(t,env(1: length(t))) xlabel('Time') title('Envelopeofthemodulatedsignal') pause%Pressakeytocomparethemessageandthedemodulatedsignal clf subplot(2,1,1) plot(t,m(1: length(t))) axis([00.15-2.12.1]) xlabel('Time') title('Themessagesignal') subplot(2,1,2) plot(t,dem1(1: length(t))) xlabel('Time') title('Thedemodulatedsignal') pause%Pressakeytocompareinthepresenceofnoise clf subplot(2,1,1) plot(t,m(1: length(t))) axis([00.15-2.12.1]) xlabel('Time') title('Themessagesignal') subplot(2,1,2) plot(t,dem2(1: length(t))) xlabel('Time') title('Thedemodulatedsignalinthepresenceofnoise') 双边带解调 DSB1 %dsb1.m %MatlabdemonstrationscriptforDSB-AMmodulation.Themessagesignal %is+1for0 echoon t0=.15;%signalduration ts=0.001;%samplinginterval fc=250;%carrierfrequency snr=20;%SNRindB(logarithmic) fs=1/ts;%samplingfrequency df=0.3;%desiredfreq.resolution t=[0: ts: t0];%timevector snr_lin=10^(snr/10);%linearSNR %messagesignal m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; c=cos(2*pi*fc.*t);%carriersignal u=m.*c;%modulatedsignal [M,m,df1]=fftseq(m,ts,df);%Fouriertransform M=M/fs;%scaling [U,u,df1]=fftseq(u,ts,df);%Fouriertransform U=U/fs;%scaling [C,c,df1]=fftseq(c,ts,df);%Fouriertransform f=[0: df1: df1*(length(m)-1)]-fs/2;%freq.vector signal_power=spower(u(1: length(t)));%powerinmodulatedsignal noise_power=signal_power/snr_lin;%computenoisepower noise_std=sqrt(noise_power);%computenoisestandarddeviation noise=noise_std*randn(1,length(u));%generatenoise r=u+noise;%addnoisetothemodulatedsignal [R,r,df1]=fftseq(r,ts,df);%spectrumofthesignal+noise R=R/fs;%scaling pause%Pressakeytoshowthemodulatedsignalpower signal_power pause%Pressanykeytoseeaplotofthemessage clf subplot(2,2,1) plot(t,m(1: length(t))) xlabel('Time') title('Themessagesignal') pause%Pressanykeytoseeaplotofthecarrier subplot(2,2,2) plot(t,c(1: length(t))) xlabel('Time') title('Thecarrier') pause%Pressanykeytoseeaplotofthemodulatedsignal subplot(2,2,3) plot(t,u(1: length(t))) xlabel('Time') title('Themodulatedsignal') pause%Pressanykeytoseeaplotsofthemagnitudeofthemessageandthe %modulatedsignalinthefrequencydomain. subplot(2,1,1) plot(f,abs(fftshift(M))) xlabel('Frequency') title('Spectrumofthemessagesignal') subplot(2,1,2) plot(f,abs(fftshift(U))) title('Spectrumofthemodulatedsignal') xlabel('Frequency') pause%Pressakeytoseeanoisesample subplot(2,1,1) plot(t,noise(1: length(t))) title('noisesample') xlabel('Time') pause%Pressakeytoseethemodulatedsignalandnoise subplot(2,1,2) plot(t,r(1: length(t))) title('Signalandnoise') xlabel('Time') pause%Pressakeytoseethemodulatedsignalandnoiseinfreq.domain subplot(2,1,1) plot(f,abs(fftshift(U))) title('Signalspectrum') xlabel('Frequency') subplot(2,1,2) plot(f,abs(fftshift(R))) title('Signalandnoisespectrum') xlabel('Frequency') DSB2 %dsb2.m %MatlabdemonstrationscriptforDSB-AMmodulation.Themessagesignal %ism(t)=sinc(100t). echoon t0=.2;%signalduration ts=0.001;%samplinginterval fc=250;%carrierfrequency snr=20;%SNRindB(logarithmic) fs=1/ts;%samplingfrequency df=0.3;%requiredfreq.resolution t=[-t0/2: ts: t0/2];%timevector snr_lin=10^(snr/10);%linearSNR m=sinc(100*t);%themessagesignal c=cos(2*pi*fc.*t);%thecarriersignal u=m.*c;%theDSB-AMmodulatedsignal [M,m,df1]=fftseq(m,ts,df);%Fouriertransform M=M/fs;%scaling [U,u,df1]=fftseq(u,ts,df);%Fouriertransform U=U/fs;%scaling f=[0: df1: df1*(length(m)-1)]-fs/2;%frequencyvector signal_power=spower(u(1: length(t)));%computemodulatedsignalpower noise_power=signal_power/snr_lin;%computenoisepower noise_std=sqrt(noise_power);%computenoisestandarddeviation noise=noise_std*randn(1,length(u));%generatenoisesequence r=u+noise;%addnoisetothemodulatedsignal [R,r,df1]=fftseq(r,ts,df);%Fouriertransform R=R/fs;%scaling pause%Pressakeytoshowthemodulatedsignalpower signal_power pause%Pressanykeytoseeaplotofthemessage clf subplot(2,2,1) plot(t,m(1: length(t))) xlabel('Time') title('Themessagesignal') pause%Pressanykeytoseeaplotofthecarrier subplot(2,2,2) plot(t,c(1: length(t))) xlabel('Time') title('Thecarrier') pause%Pressanykeytoseeaplotofthemodulatedsignal subplot(2,2,3) plot(t,u(1: length(t))) xlabel('Time') title('Themodulatedsignal') pause%Pressanykeytoseeaplotofthemagnitudeofthemessageandthe %modulatedsignalinthefrequencydomain. subplot(2,1,1) plot(f,abs(fftshift(M))) xlabel('Frequency') title('Spectrumofthemessagesignal') subplot(2,1,2) plot(f,abs(fftshift(U))) title('Spectrumofthemodulatedsignal') xlabel('Frequency') pause%Pressakeytoseeanoisesample subplot(2,1,1) plot(t,noise(1: length(t))) title('noisesample') xlabel('Time') pause%Pressakeytoseethemodulatedsignalandnoise subplot(2,1,2) plot(t,r(1: length(t))) title('Signalandnoise') xlabel('Time') pause%Pressakeytoseethemodulatedsignalandnoiseinfreq.domain subplot(2,1,1) plot(f,abs(fftshift(U))) title('Signalspectrum') xlabel('Frequency') subplot(2,1,2) plot(f,abs(fftshift(R))) title('Signalandnoisespectrum') xlabel('Frequency') DSB3 %dsb1.m %MatlabdemonstrationscriptforDSB-AMmodulation.Themessagesignal %is+1for0 echoon t0=.15;%signalduration ts=0.0005;%samplinginterval fc=250;%carrierfrequency snr=10;%SNRindB(logarithmic) fs=1/ts;%samplingfrequency t_long=20*t0;%extendedsignalduration n0=floor(t_long/ts)+1;%lengthofextendedsignalvector n00=2^(ceil(log2(n0))); df=fs/n00;%frequencyresolution t_long1=[0: ts: t_long];%extendedtimevector f=[-fs/2+df: df: fs/2];%frequencyvector %messagesignal m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; m_long=[m,zeros(1,n0-length(m))];%extendedmessagesignal c_long=cos(2*pi*fc.*t_long1);%extendedcarriersignal u_long=m_long.*c_long;%extendedmodulatedsignal du_long=u_long.*c_long; DU=fft(du_long,n00)/fs; M=fft(m_long,n00)/fs;%spectrumoftheextendedmessagesignal U=fft(u_long,n00)/fs;%spectrumoftheextendedmodulatedsignal pause%Pressanykeytoseeaplotsofthemagnitudeofthemessageandthe %modulatedsignalinthefrequencydomain. subplot(2,1,1) plot(f,abs(fftshift(M))) xlabel('Frequency') title('Spectrumofthemessagesignal') subplot(2,1,2) plot(f,abs(fftshift(U))) title('Spectrumofthemodulatedsignal') xlabel('Frequency') pause%PressakeytoseethemodulatedandmodulatedXcarrierinfreq.domain subplot(2,1,1) plot(f,abs(fftshift(U))) title('Modulatedsignalspectrum') xlabel('Frequency') subplot(2,1,2) plot(f,abs(fftshift(DU))) title('ModulatedsignalXCarrierspectrum') xlabel('Frequency') DSBDEM %dsb_dem.m %MatlabdemonstrationscriptforDSB-AMdemodulation.Themessagesignal %is+1for0 echoon t0=.15;%signalduration ts=1/1500;%samplinginterval fc=250;%carrierfrequency fs=1/ts;%samplingfrequency t=[0: ts: t0];%timevector df=0.3;%desiredfrequencyresolution %messagesignal m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; c=cos(2*pi*fc.*t);%carriersignal u=m.*c;%modulatedsignal y=u.*c;%mixing [M,m,df1]=fftseq(m,ts,df);%Fouriertransform M=M/fs;%scaling [U,u,df1]=fftseq(u,ts,df);%Fouriertransform U=U/fs;%scaling [Y,y,df1]=fftseq(y,ts,df);%Fouriertransform Y=Y/fs;%scaling f_cutoff=150;%cutofffreq.ofthefilter n_cutoff=floor(150
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性调制 程序