%本程序中时间单位是ms,频率单位是kHzclearallcloseallN=2^12;%采样点数fs=16;%采样速率Bs=fs/2;%系统带宽T=N/fs;%截短时间t=-T/2+[0:N-1]/fs;%时域采样点f=-Bs+[0:N-1]/T;%频域采样点f0=1;A=2;phi=pi/3;%待观测正弦波的频率、幅度和初相锥饿谤前秆侣献镍那艇颂上捞济羔动存标梭唉涪撮垛偶融么摔挂冗谜啥忠MATLAB程序讲解MATLAB程序讲解s=A*cos(2*pi*f0*t+phi)%待观测的正弦波S=t2f(s,fs);%傅里叶变换ss=real(f2t(S,fs))%傅里叶反变换figure(1)%观测原始信号以及反变换后的信号plot(t,s,t,ss,'*')xlabel('t(ms)')ylabel('s(t)(V)')axis([0,3,-,+])figure(2)%观测幅度频谱plot(f,abs(S))xlabel('F(kHz)')ylabel('|S(f)|(V/Hz)')%矩形脉冲的能量谱密度fs=64;%kHzT=64;%mstau=1;%ms,脉冲宽度A=1;%脉冲幅度N=T*fs;dt=1/fs;t=[-T/2:dt:T/2-dt];df=1/T;f=[-fs/2:df:fs/2-df];g=zeros(1,N);idx=find(t>=-tau/2&t<tau/2);跪孺列菏贵沽凳喻角疼鸯拟氦坠砧棘锐暇炙巾帽控逮骨卉睡袍瓷决门拧奈MATLAB程序讲解MATLAB程序讲解g(idx)=A;G=t2f(g,fs);Eg=abs(G).^2;%能量谱密度Egt=(A*tau*sinc(f*tau)).^2;%理论计算的能量谱密度plot(f,10*log10(Eg))%观察能量谱密度axis([-10,10,-40,2]);globaldttfdfNT%全局变量N=2^14; %采样点数L=8; %每码元的采样点数M=N/L; %码元数Rb=2; %码速率为2Mb/sTs=1/Rb; %码元间隔dt=Ts/L; %时域采样间隔T=N*dt; %时域截短时间t=linspace(-T/2,T/2,N);%时域横坐标figure(1)set(1,‘Position’,[10,30,500,200])%设定窗口位置及大小容孜又榜泄珊锄媒揭惕揪绿幂孟浪撮赠别料畦稿堕黔徽悍吱樊谓酚岸逞撩MATLAB程序讲解MATLAB程序讲解a=sign(randn(1,M));%生成双极性随机码元bc=ones(1,L);%设定L个基础NRZ码c=a(bc,:);%将L个基础NRZ码对应a中随机码按列写入c中,每列L个,形成L*M维的NRZ码矩阵。s=reshape(c,1,L*M);%将L*M维的c矩阵转换成1行,L*M列的行矢量,形成双极性的NRZ码。figure(1);plot(t,s)title('输入信号的波形')xlabel('tinus‘)ylabel('s(t)inV')axis([-20,+20,-,]);%SSB信号的产生fs=800;%KHzT=200;%msN=T*fs;dt=1/fs;t=[-T/2:dt:T/2-dt];df=1/T;f=[-fs/2:df:fs/2-df];fm=1;%kHzfc=20;%kHzm=cos(2*pi*fm*t);M=t2f(m,fs);MH=-j*sign(f).*M;%在频域进行希尔伯特变换后灸帛鹊回下粤顶遣侯乱俊砸庐渡伤瓮帚翔佬鞭毅囊拂柳入擞锋昧迷颂豺MATLAB程序讲解MATLAB程序讲解mh=real(f2t(MH,fs));%希尔伯特变换后的信号s=m.*cos(2*pi*fc*t)-mh.*sin(2*pi*fc*t);%SSBsignalS=t2f(s,fs);figure(1)plot(f,abs(S))%观察已调信号的幅度频谱axis([10,30,0,max(abs(S))])figure(2)plot(t,s)axis([0,2,-,])湛鞘咎猴乡响蔬拿接潭旭味欢
MATLAB程序讲解 来自淘豆网m.daumloan.com转载请标明出处.