code_length=20; %信息码元个数
N=1:code_length;
rand('seed',0);
x=sign(rand(1,code_length)-0.5); %信息码
for i=1:20
s((1+(i-1)*800):i*800)=x(i); %每个信息码元内含fs/f=800个采样点
end
subplot(811),plot(s),axis([0 16000 -1.2 1.2]);
length=100*20; %伪码频率5MHz,每个信息码内含5MHz/50kHz=100个伪码
x_code=sign(mgen(19,8,length)-0.5); %把0,1序列码变换为-1,1调制码
for i=1:2000
w_code((1+(i-1)*8):i*8)=x_code(i); %每个伪码码元内含8个采样点
end
subplot(812),plot(w_code),axis([0 1600 -1.2 1.2]);
%扩频
k_code=s.*w_code; %k_code为扩频码
subplot(813),plot(k_code),axis([0 1600 -1.2 1.2]);
%调制
fs=20e6;
f0=30e6;
for i=1:2000
AI=2;
dt=fs/f0;
n=0:dt/7:dt; %一个载波周期内采样八个点
cI=AI*cos(2*pi*f0*n/fs);
signal((1+(i-1)*8):i*8)=k_code((1+(i-1)*8):i*8).*cI;
end
subplot(814),plot(signal),axis([0 1000 -2.2 2.2]);
%高斯白噪声信道
signal1=awgn(signal,10);
subplot(815),plot(signal1),axis([0 1000 -2.5 2.5]);
%解扩
jk_code=signal.*w_code;
figure
plot(jk_code),axis([0 200 -2.5 2.5]);
%解调
AI=1;
dt=fs/f0;
n=0:dt/7:dt; %一个载波周期内采样八个点
cI=AI*cos(2*pi*f0*n/fs);
for i=1:2000
signal_h((1+(i-1)*8):i*8)=jk_code((1+(i-1)*8):i*8).*cI;
end
figure
plot(signal_h),axis([0 200 -2.5 2.5]);
%低通滤波
wn=5/10000000; %截止频率wn=fn/(fs/2),这里的fn为信息码(扩频码)的带宽5M
b=fir1(16,wn);
H=freqz(b,1,16000);
signal_d=filter(b,1,signal_h);
figure
plot(signal_d),axis([0 200 -2.5 2.5]);
kuopin.rar_扩频序列_扩频调制_扩频调制仿真_直接扩频序列_调制解调Matlab
版权申诉
152 浏览量
2022-09-24
03:10:34
上传
评论
收藏 1KB RAR 举报
weixin_42653672
- 粉丝: 93
- 资源: 1万+
最新资源
- 上市公司-人工智能的采纳程度面板数据(2003-2021年).xlsx
- 第5章spring-mvc请求映射处理
- 2023-04-06-项目笔记 - 第一百十六阶段 - 4.4.2.114全局变量的作用域-114 -2024.04.27
- app-release.apk.1
- soap json 等系列化方式
- c++的五子棋代码,在vs6.0上完美运行
- 基于Javaee的影视创作论坛的设计与实现.rar
- Python导出Mysql数据字典(部分表或全表)
- Java工具类实现输入一个路径,强创建路径、并且鉴权目标路径是否具备修改权限,用于增强程序的健壮性与稳定性,快速开发!
- 资源【STM32+HAL】三轴按键PS2摇杆
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈