clear all
close all
clc
%% 产生随机信源信号
m=randi([0 1],12000*2,1);
figure(); stem(m); title('随机序列')
x=reshape(m,length(m)/4,4);
%% 分组编码
G=[ 1 0 1 1 0 0 0;
1 1 1 0 1 0 0;
1 1 0 0 0 1 0;
0 1 1 0 0 0 1];%设置编码矩阵
X=mod(x*G,2);%进行编码,生成编码后的码组
X=X';
n=length(m)/4*7;
X=reshape(X,1,n);
figure(); stem(X); title('编码后序列')
%% 产生信号
modulated = modulation(X, 'ASK' );%%%% MSK 8PSK ASK
sig = reshape(modulated, 10, length(modulated)/10);
sig = [sig; ones(1, size(sig,2))];
sig = sig(:);
%% 上变频
sig = sig * ones(1,100); %矩形波成型
sig = reshape(sig.', size(sig,1)*size(sig,2),1 ); fvtool(sig); title('基带信号频谱图');
t = [1:length(sig)]/1e6;
sig = sig .* exp(j * 0.3e6 * 2 * pi * t).'; %上变频
figure(); plot([1:1e5]/1e6, real(sig(1:1e5))); title('发射信号时域采样');
fvtool(sig); title('上变频后频谱图');
%% 瑞丽信道
c = rayleighchan(1e-6,10,[0 1e-6], [1 -20]); %初始化瑞丽信道 第一个参数是采样率,第二个是多普勒频移,第三个参数是路径时延,第四个是路径增益
sig = filter(c,sig); %信号经过瑞丽信道
Ber=[];ber=[];
SNR=-1:0.5:3;
for snr = SNR
%% AWGN
recv_sig = awgn(sig,snr,'measured');
%% 下变频,抽样
recv_sig = recv_sig .* exp(-j * 0.3 * 2 * pi *[1:length(recv_sig)] ).'; %下变频
recv_sig = recv_sig(50 : 100 : end);
%% 信道估计
recv_modulated = reshape(recv_sig, 11, length(recv_sig)/11);
pilot = recv_modulated(11,:);
ch_est = ones(10,1) * pilot;
recv_modulated = recv_modulated(1:10,:) ./ ch_est;
recv_modulated = recv_modulated(:);
%% 解调
z = demodulation(recv_modulated, 'ASK');
z=z';
z=reshape(z,1,n);
z=reshape(z,7,n/7);
z=z';
%%%解码
Xr=decode(z,7,4,'linear',G);
%%%计算误码率
z_tmp = z.';
[~,b] =biterr(X.',z_tmp(:));
Ber=[Ber b];
[N,b]=biterr(x(:),Xr(:));
ber=[ber b];
end
figure(); plot([1:7e3]/1e6, real(recv_sig(1:7e3))); title('接收信号时域采样');
figure(); stem(Xr); title('解码后序列')
%%%绘制误码率图形
semilogy(SNR,Ber,'b-o',SNR,ber,'r-*');
legend('编码后误码率','编码前误码率')
title('基于(7,4)线性分组码编码的信号误码率')
xlabel('信噪比SNR');
ylabel('误码率BER');
grid on;
matlab.rar_FDMA系统仿真_fdma_fdma的MATLAB仿真_simulate 中的fdma
版权申诉
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
![avatar](https://profile-avatar.csdnimg.cn/9116002996824fde940a716bee54aca8_weixin_42663213.jpg!1)
钱亚锋
- 粉丝: 90
- 资源: 1万+
最新资源
- elasticsearch数据库下载、配置、使用案例
- springboot的概要介绍与分析
- C语言的概要介绍与分析
- 第一个较大的Android项目,基于Android平台的图书管理系统(Android studio).zip
- Cisco Packet Tracer 6.2 for Windows Instructor Version
- 使⽤pyIAST计算⽓体吸附选择性
- tmp_b056727e59b8123365486983f32baa9732607ec3c6137b12.pdf
- C代码实现文件的拆分和合并,本质上就是文件的读写操作.zip
- TVMP3player.apk.1
- 出马出马出马出马出马出马出马
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
评论1