Matlab通信系统建模与仿真例题源代码-第五章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
% ch5example2prg1.m
SNR_in_dB=-10:2:30;
SNR_in=10.^(SNR_in_dB./10); % 信道信噪比
m_a=0.3; % 调制度
P=0.5+(m_a^2)/4; % 信号功率
for k=1:length(SNR_in)
sigma2=P/SNR_in(k); % 计算信道噪声方差并送入仿真模型sim('ch5example2.mdl');% 执行仿真
SNRdemod(k,:)=SNR_out; % 记录仿真结果
end
plot(SNR_in_dB, SNRdemod);
xlabel('输入信噪比dB');
ylabel('解调输出信噪比dB');
legend('包络检波','相干解调');
% ch5example7prog1.m
clear;
Fs=10000; % 仿真的采样率
t=1/Fs:1/Fs:1; % 仿真时间点
m_t(Fs*1)=0; % 基带信号变量初始化
for F=150:400 % 基带信号发生:频率150Hz~400Hz
m_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减
end
m_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波cos
carriersin=sin(2*pi*1000*t); % 1000Hz正交载波sin
s_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSB
s_SSB2=m_t.*carriercos+m_t90shift.*carriersin; % 下边带SSB
% 下面作出各波形以及频谱
figure(1);
subplot(4,2,1); plot(t(1:100),carriercos(1:100),...
t(1:100),carriersin(1:100),'--r'); % 载波
subplot(4,2,2); plot([0:9999],abs(fft(carriercos))); % 载波频谱
axis([0 2000 -500 6000]);
subplot(4,2,3); plot(t(1:100),m_t(1:100)); % 基带信号subplot(4,2,4); plot([0:9999],abs(fft(m_t))); % 信号频谱axis([0 2000 -500 6000]);
subplot(4,2,5); plot(t(1:100),s_SSB1(1:100)); % SSB波形上边带subplot(4,2,6); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱上边带axis([0 2000 -500 6000]);
subplot(4,2,7); plot(t(1:100),s_SSB2(1:100)); % SSB波形下边带subplot(4,2,8); plot([0:9999],abs(fft(s_SSB2))); % SSB频谱下边带
axis([0 2000 -500 6000]);
% ch5example8prog1.m
clear;
Fs=10000; % 仿真的采样率
t=1/Fs:1/Fs:1; % 仿真时间点
m_t(Fs*1)=0; % 基带信号变量初始化
for F=150:400 % 基带信号发生:频率150Hz~400Hz
m_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减
end
m_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波cos
carriersin=sin(2*pi*1000*t); % 1000Hz正交载波sin
s_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSB
out=s_SSB1.*carriercos; % 相干解调
[a,b]=butter(4, 500/(Fs/2)); % 低通滤波器设计4阶,截止频率为500Hz demodsig=filter(a,b,out); % 解调输出
% 下面作出各波形以及频谱
figure(1);
subplot(3,2,1); plot(t(1:100),s_SSB1(1:100)); % SSB波形
subplot(3,2,2); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱
axis([0 5000 -500 6000]);
subplot(3,2,3); plot(t(1:100),out(1:100)); % 相干解调波形subplot(3,2,4); plot([0:9999],abs(fft(out))); % 相干解调频谱
axis([0 3000 -500 6000]);
subplot(3,2,5); plot(t(1:100),demodsig(1:100)); % 低通输出信号subplot(3,2,6); plot([0:9999],abs(fft(demodsig)));% 低通输出信号的频谱axis([0 3000 -500 6000]);
% ch5example8prog2.m
clear;
Fs=10000; % 仿真的采样率
t=1/Fs:1/Fs:1; % 仿真时间点
m_t(Fs*1)=0; % 基带信号变量初始化
for F=150:400 % 基带信号发生:频率150Hz~400Hz
m_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减
end
m_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换carriercos=cos(2*pi*1000*t); % 1000Hz载波cos