一、获取代码方式(附课程作业报告和题目内容)
获取代码方式1:
完整代码已上传我的资源:【扩频通信】基于matlab直接序列扩频系统仿真【含Matlab源码 1529期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、简介
三、部分源代码
clc;clear;close all;encod1=round(rand(1,5000)); %产生5000个随机码元encod1=2*encod1-1; %码序列变为双极性 L=length(encod1);for m=128 %扩频因子128倍a=repmat(encod1,1,m); b=(reshape(a,L,m)).'; x=reshape(b,1,L*m); len=length(x); %产生M序列g=19;state=11;N=len;gen=dec2bin(g)-48;M=length(gen);curState=dec2bin(state,M-1)-48;for k=1:NA(k)=curState(M-1);a=rem(sum(gen(2:end).*curState),2);curState=[a curState(1:M-2)];endx_code=sign(A-0.5);%Ex 1 绘制M自相关ac_x=conv(x_code,x_code(len:-1:1))/len;figure;plot(ac_x(len:end));grid on;axis([0 63 -0.3 1.2]);title('m序列自相关序列')msout=x.* x_code;% 已扩频信号% QPSK 调制,2bit信息映射到一个星座点,并对输出符号归一化N=length(msout);msout=(msout+1)/2;lrem=rem(N,2);if lrem~=0msout(N+1:N+(2-lrem))=0;endNN=length(msout);qam_sig = zeros(1,NN/2);d = sqrt(2)/2; %所采用的星座图进行能量归一化GrayMap = [d -d]; %对应的I,Q比特为[0 1]for i1=0:2:NN-1 %4bit为一组site_I = msout(i1+1);%每组中的第一比特为I分量site_Q = msout(i1+2);%每组中的第二比特为Q分量qam_sig(i1/2+1) = GrayMap(site_I+1)+1i*GrayMap(site_Q+1);endfor condition=1:4 %信道噪声for SNR1=-20:-10Eb = 1; N0= Eb/(10^((SNR1)/10));sig=qam_sig+sqrt(N0/2)*randn(size(qam_sig))+sqrt(N0/2)*randn(size(qam_sig))*1i;%加单音、多音、部分带干扰 switch conditioncase 1case 2band=1;%控制干扰带宽for jj=1:Lfor kk=1:bandinterfere=2*rand(1)-1;sig(jj*(m/2)-(m/2)+kk)=sqrt(2)/2*interfere+sqrt(2)/2*1i*interfere;endendcase 3band=5;%控制干扰带宽for jj=1:Lfor kk=1:bandinterfere=2*rand(1)-1;sig(jj*(m/2)-(m/2)+kk)=sqrt(2)/2*interfere+sqrt(2)/2*1i*interfere;endendcase 4 band=15;%控制干扰带宽for jj=1:Lfor kk=1:bandinterfere=2*rand(1)-1;sig(jj*(m/2)-(m/2)+kk)=sqrt(2)/2*interfere+sqrt(2)/2*1i*interfere;endendend
四、运行结果
五、matlab版本及参考文献
1 matlab版本
a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,.