📄 master.m
字号:
% ====================== 通信系统的MATLAB仿真 ===================% ===> 程序说明如下% 对这个仿真程序的总体控制程序% 在master中对各种参数进行了定义% 关闭所有窗口,清除所有变量close all;clear all;% 定义产生0,1序列的点数Nglobal N;N = 1000;% 定义采样值Mglobal M;M = 8;% 定义滚降系数ratioglobal ratio;ratio = 0.5;% 定义产生随机分布的0,1的分布概率pglobal p;p = 0.5;% 定义载频系数fcglobal fc;fc = 4;% 定义滤波器的延迟delayglobal delay;delay = 3;% 产生等概分布的0,1序列sig = signal_generate(p,N);figure(1);stem(1:length(sig),sig,'.');axis([1,50,-0.5,1.5]);xlabel('序列长度');ylabel('幅度');title('等概分布的0,1序列');% 对产生的序列进行BPSK调制sig_mod = modulate(sig);figure(2);stem(1:length(sig_mod),sig_mod,'.');axis([1,50,-1.5,1.5]);xlabel('序列长度');ylabel('幅度');title('经过调制的信号序列');% 对已经进行BPSK调制的信号进行插值[sig_insert,sig_insert_length] = insert(sig_mod,M);figure(3);subplot(211);stem(1:length(sig_mod),sig_mod,'.');axis([1,50,-1.5,1.5]);xlabel('序列长度');ylabel('幅度');title('序列插值前后比较');subplot(212);plot(sig_insert_length/M,sig_insert,'r- .');hold on;plot(sig_insert_length/M,sig_insert,'.');axis([0,50,-1.5,1.5]);xlabel('序列长度');ylabel('幅度');% 画出Matlab自带升余弦低通滤波器Fs = M;Fd = 1;[flt_rcos, den] = rcosine(Fd,Fs,'normal',0.5,delay);figure(4);stem(1:length(flt_rcos),flt_rcos,'.');grid on;xlabel('序列长度');ylabel('幅度');title('Matlab自带升余弦滤波器');% 画出自制升余弦滤波器的图形Ts=1;dt=Ts/M;t=-3*Ts:dt:3*Ts;xt=sinc(t/Ts).*(cos(ratio*pi*t/Ts))./(1-4*ratio^2*t.^2/Ts^2+eps);figure(5);stem(t,xt,'.');axis([-3 3 -0.2 1.2]);xlabel('序列长度');ylabel('幅度');title('自制升余弦滚降波形');% 计算经过插值以后的序列与Mathal自带升余弦低通滤波器卷积的结果sig_rcos_own = conv(flt_rcos,sig_insert);% 计算信号经过Matlab自带升余弦低通滤波器后的结果sig_flt_own = rcosflt(sig_insert,Fd,Fs,'filter/Fs',flt_rcos,den,3);% 计算构造升余弦低通滤波器与输入信号乘积的时域叠加结果sig_ht_cov = zeros(1,8*N+2*length(xt));for sig_i = 1:8:N ht_i = 1:length(xt); sig_temp = zeros(1,8*N+2*length(xt)); sig_temp(ht_i+sig_i-1) = xt(ht_i).*sig_insert(sig_i); sig_ht_cov = sig_ht_cov+sig_temp;end% 画图开始figure(6);subplot(311);plot(sig_rcos_own);axis([0,100,-2,2]);title('信号与Matlab自带升余弦低通滤波器卷积后的结果');ylabel('幅度');xlabel('序列长度');subplot(312);plot(sig_flt_own);axis([0,100,-2,2]);title('信号经过Matlab自带升余弦低通滤波器后的结果');ylabel('幅度');xlabel('序列长度');subplot(313);plot(sig_ht_cov);axis([0,100,-2,2]);title('信号与自制升余弦函数卷积的结果');ylabel('幅度');xlabel('序列长度');% 画眼图figure(7);hold on;teye = 0:23;for ii = 1:N/3-1 eye(1:24) = sig_flt_own(24*(ii-1)+1:24*(ii-1)+24); plot(teye,eye,'color','green');endhold off;title('BPSK信号眼图');xlabel('重叠长度');ylabel('幅度');% 载波调制[ sig_mod,t ] = modulate_high(sig_flt_own,fc,M);figure(8);plot(t,sig_mod,'color','red');axis([delay, delay+10, -2.5, 2.5]);xlabel('已调信号长度');ylabel('幅度');title('载波调制信号图')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -