通信原理课程设计_2.doc
文本预览下载声明
PAGE
PAGE 7
附录Ⅰ:数字基带信号的仿真代码与结果
function[f,sf]=T2F(t,st)
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);
end
%在把序列d插入到序列M中,得到一个新序列
function [out]=sigexpand(d,M)
N=length(d);
out=zeros(M,N);
out(1,:)=d;
out=reshape(out,1,M*N);
%数字基带信号的功率谱密度 digit_baseband.m
clear all;
close all;
Ts=1;%每个码元的长度
N_sample=8;%每个码元的抽样点数
dt=Ts/N_sample;%抽样时间间隔
N=1000;%码元数
t=0:dt:(N*N_sample-1)*dt;%1x8000
T=t(end);
gt1=ones(1,N_sample);%1x8
gt2=ones(1,N_sample/2); % 1x4?1x8?
gt2=[gt2 zeros(1,N_sample/2)];%1x8
mt3=sinc((t-5)/Ts);% 1x8000 sin(pi*t/Ts)/(pi*t/Ts)波形
gt3=mt3(1:10*N_sample);%截段取10个码元
d=(sign(randn(1,N))+1)/2;%1x1000 d=??
data=sigexpand(d,N_sample);%插入N_sample-1个0
gt4=ones(1,N_sample);
gt5=ones(1,N_sample/2);
gt5=[gt5 zeros(1,N_sample/2)];
st1=conv(data,gt1);%调用Matlab的卷积函数conv
st2=conv(data,gt2);
d=2*d-1; % 变成双极性序列
data=sigexpand(d,N_sample);
st3=conv(data,gt3);
st4=conv(data,gt4);
st5=conv(data,gt5);
[f,st1f]=T2F(t,[st1(1:length(t))]);
[f,st2f]=T2F(t,[st2(1:length(t))]);
[f,st3f]=T2F(t,[st3(1:length(t))]);
[f,st4f]=T2F(t,[st4(1:length(t))]);
[f,st5f]=T2F(t,[st5(1:length(t))]);
figure(1)
subplot(321)
plot(t,[st1(1:length(t))]);
axis([0 20 -1.5 1.5]);
xlabel(单极性NRZ波形);grid
subplot(322);
plot(f,10*log10(abs(st1f).^2/T));grid
axis([-5 5 -40 10]);
xlabel(单极性NRZ功率谱密度(dB/Hz));
subplot(323)
plot(t,[st2(1:length(t))]);grid
axis([0 20 -1.5 1.5]);
xlabel(单极性RZ波形);
subplot(324);
plot(f,10*log10(abs(st2f).^2/T));grid
axis([-5 5 -40 10]);
xlabel(单极性RZ功率谱密度(dB/Hz));
subplot(325)
plot(t-5,[st3(1:length(t))]);grid
axis([0 20 -2 2]);
ylabel(双极性sinc波形);xlabel(t/Ts);
subplot(326);
plot(f,10*log10(abs(st3f).^2/T));grid
axis([-5 5 -40 10]);
ylabel(sinc波形功率谱密度(dB/Hz));xlabel(f*Ts);
figure(2)
subplot(221)
plot(t,[st4(1:length(t))]);
axis([0 20 -1.5 1.5]);
xlabel(双极性NRZ波形);grid
subplot(222);
plot(f,10*log10(abs(st4f).^2/T));grid
axis([-5 5 -40 10]);
xlabel(双极性NRZ功率谱密度(dB/Hz));
subplot(223)
plot(t,[st5(1:length(t))]);grid
axis([0 20 -1.5 1.5])
显示全部