数字基带信号基本码型时频域分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简明通信原理实验
报告四
Matlab 实验一数字基带信号基本码型时
频域分析
一、仿真内容:
1、样例程序给出了两种方法求单极性非归零码和单极性归零码的功率谱密度(PSD)的代码,观察时域波形和 PSD 图并保存,指出单极性归零码的占空比,减小和增大占空比再进行仿真,观察时域波形和PSD 图的变化,保存结果并对不同占空比时的实验结果进行比较和分析说明。
2、画出求双极性非归零码和双极性归零码时域波形和 PSD 图的流程图,用两种方法编写程序,绘制时域波形和 PSD 图,取三种不同的占空比,比较不同占空比双极性归零码的时域波形和 PSD 变化,对结果进行分析说明。
3、给出仿真预习与准备中问题的答案,编写用方法三求四种基本码型 PSD 的程序并绘制 PSD 图,与方法一、二的结果进行比较。
二、仿真结果:
1、样例程序:求单极性非归零码和单极性归零码的功率谱密度(PSD)的代码
clear all; close all;
Ts = 1;
N_sample = 8;
dt = Ts/N_sample;
N = 1000;
fs = 1/dt;
t = 0:dt:(N*N_sample-1)*dt;
T = Ts*N*N_sample;
gt1 = ones(1,N_sample);
gt2 = ones(1,N_sample/2);
gt2 = [gt2 zeros(1,N_sample/2)];
d = (sign(randn(1,N))+1)/2;
data = upsample(d,N_sample);
st1 = conv(data,gt1);
st2 = conv(data,gt2);
data = upsample(d,N_sample);
%%方法一求PSD。
au_st1 = conv(st1,fliplr(st1))./length(st1); au_st2 = conv(st2,fliplr(st2))./length(st2); [f1,st1f] = myt2f(au_st1,fs);
[f2,st2f] = myt2f(au_st2,fs);
figure
subplot(221)
plot(t,[st1(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('单极性NRZ波形');
subplot(222)
plot(f1,10*log10(abs(st1f)))
xlabel('单极性NRZ功率谱密度(dB/Hz)');
subplot(223)
plot(t,[st2(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('单极性RZ波形');
subplot(224)
plot(f2,10*log10(abs(st2f)))
xlabel('单极性RZ功率谱密度(dB/Hz)');
%%方法二求PSD。
[f1,st1f] = myt2f(st1,fs);
[f2,st2f] = myt2f(st2,fs);
figure
subplot(221)
plot(t,[st1(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('单极性NRZ波形');
subplot(222)
plot(f1,10*log10(abs(st1f).^2/T))
xlabel('单极性NRZ功率谱密度(dB/Hz)');
subplot(223)
plot(t,[st2(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('单极性RZ波形');
subplot(224)
plot(f2,10*log10(abs(st2f).^2/T))
xlabel('单极性RZ功率谱密度(dB/Hz)')
%%方法一,RZ波形占空比0.5
%%方法二,RZ波形占空比0.5
%%方法一,RZ波形占空比减小为0.25
%%方法二,RZ波形占空比减小为0.25
%%方法一,RZ波形占空比增大为2/3
%%方法二,RZ波形占空比增大为2/3
分析:单极性非归零码的功率谱中含有离散的直流分量及连续谱,单极性归零码的功率谱密度不仅含有离散的直流分量以及连续谱,而且还包含离散的时钟分量及其奇次谐波分量。占空比越小,信号带宽越宽,功率谱越集中。
2、求双极性非归零码和双极性归零码时域波形和 PSD 图。
程序:
clear all; close all;
Ts = 1;
N_sample = 8;
dt = Ts/N_sample;
N = 1000;
fs = 1/dt;
t = 0:dt:(N*N_sample-1)*dt;
T = Ts*N*N_sample;
gt1 = ones(1,N_sample);
gt2 = ones(1,N_sample/2);
gt2 = [gt2 zeros(1,N_sample/2)];
d = (sign(randn(1,N))+1)/2;
d = 2*d-1;
data = upsample(d,N_sample);
st1 = conv(data,gt1);
st2 = conv(data,gt2);
data = upsample(d,N_sample);
%%方法一求PSD。
au_st1 = conv(st1,fliplr(st1))./length(st1); au_st2 = conv(st2,fliplr(st2))./length(st2); [f1,st1f] = myt2f(au_st1,fs);
[f2,st2f] = myt2f(au_st2,fs);
figure
subplot(221)
plot(t,[st1(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('双极性NRZ波形');
subplot(222)
plot(f1,10*log10(abs(st1f)))
xlabel('双极性NRZ功率谱密度(dB/Hz)');
subplot(223)
plot(t,[st2(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('双极性RZ波形');
subplot(224)
plot(f2,10*log10(abs(st2f)))
xlabel('双极性RZ功率谱密度(dB/Hz)');
%%方法二求PSD。
[f1,st1f] = myt2f(st1,fs);
[f2,st2f] = myt2f(st2,fs);
figure
subplot(221)
plot(t,[st1(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('双极性NRZ波形');
subplot(222)
plot(f1,10*log10(abs(st1f).^2/T))
xlabel('双极性NRZ功率谱密度(dB/Hz)');
subplot(223)
plot(t,[st2(1:length(t))]);grid
axis([0 20 -1.5 1.5])
xlabel('双极性RZ波形');
subplot(224)
plot(f2,10*log10(abs(st2f).^2/T))
xlabel('双极性RZ功率谱密度(dB/Hz)');