QPSK调制与解调(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)
QPSK调制解调目录
- 一、仿真要求
- 二、仿真方案详细设计
- 三、仿真结果及结论
- 1.仿真结果
- 2.仿真结论
- 四、主要仿真代码
一、仿真要求
画出QPSK信号产生的信息、I路、Q路信号对比图以及接收端解调的I路,Q 路,信息恢复的对比图。
二、仿真方案详细设计
三、仿真结果及结论
1.仿真结果
2.仿真结论
四、主要仿真代码
clear all;clc;
N=20;%比特数
T=1;%比特周期
fc=2;%载波频率
Fs=100;%抽样频率
bitstream=randi([0,1],1,N);%随机产生的比特数0、1
bitstream=2*bitstream-1;%单极性变为双极性(0到-1;1到1)
I=[];Q=[];
%奇数进I路,偶数进Q路
for i=1:Nif mod(i,2)~=0I=[I,bitstream(i)];elseQ=[Q,bitstream(i)];end
end
%采用绘图比较I、Q比特流
bit_data=[];
for i=1:Nbit_data=[bit_data,bitstream(i)*ones(1,T*Fs)];%在一个比特周期里面有T*Fs个1和采样点一模一样
end
I_data=[];Q_data=[];
for i=1:N/2%I路和Q路是原来比特周期的两倍,2Tb=Ts(码元周期),因此采样点个数为T*Fs*2I_data=[I_data,I(i)*ones(1,T*Fs*2)];Q_data=[Q_data,Q(i)*ones(1,T*Fs*2)];
end
%绘图
figure();
%时间轴
t=0:1/Fs:N*T-1/Fs;
subplot(3,1,1)
plot(t,bit_data);legend('Bitstream')%比特信息
subplot(3,1,2)
plot(t,I_data);legend('I Bitstream')%I路信息
subplot(3,1,3)
plot(t,Q_data);legend('Q Bitstream')%Q路信息
%载波信号
bit_t=0:1/Fs:2*T-1/Fs;%载波周期为2倍比特周期,定义时间轴
%定义I路和Q路的载波
I_carrier=[];Q_carrier=[];
for i=1:N/2I_carrier=[I_carrier,I(i)*cos(2*pi*fc*bit_t)];%I路载波信号Q_carrier=[Q_carrier,Q(i)*cos(2*pi*fc*bit_t+pi/2)];%Q路载波信号
end
%传输信号
QPSK_signal=I_carrier+Q_carrier;
%绘图
figure();%产生一个新图
subplot(3,1,1)
plot(t,I_carrier);legend('I signal')%I路信号
subplot(3,1,2)
plot(t,Q_carrier);legend('Q signal')%Q路信号
subplot(3,1,3)
plot(t,QPSK_signal);legend('QPSK signal')%I路、Q路和的信号
snr=1;%信躁比
%接收信号
QPSK_receive=awgn(QPSK_signal,snr);%awgn()添加噪声
%解调
for i=1:N/2I_output=QPSK_receive(1,(i-1)*length(bit_t)+1:i*length(bit_t)).*cos(2*pi*fc*bit_t);if sum(I_output)>0 %积分器求和,大于0为1,否则为-1I_recover(i)=1;elseI_recover(i)=-1;endQ_output=QPSK_receive(1,(i-1)*length(bit_t)+1:i*length(bit_t)).*cos(2*pi*fc*bit_t+ pi/2);if sum(Q_output)>0Q_recover(i)=1;elseQ_recover(i)=-1;end
end
%并/串变换
bit_recover=[];
for i=1:Nif mod(i,2)~=0bit_recover=[bit_recover,I_recover((i-1)/2+1)];%奇数取I路信息elsebit_recover=[bit_recover,Q_recover(i/2)];%偶数取Q路信息end
end
%适用绘图比较I、Q比特流
recover_data=[];
for i=1:Nrecover_data=[recover_data,bit_recover(i)*ones(1,T*Fs)];
end
I_recover_data=[];Q_recover_data=[];
for i=1:N/2I_recover_data=[I_recover_data,I_recover(i)*ones(1,T*Fs*2)];Q_recover_data=[Q_recover_data,Q_recover(i)*ones(1,T*Fs*2)];
end
%绘图
figure();
t=0:1/Fs:N*T-1/Fs;
subplot(3,1,1)
plot(t,recover_data);legend('Bitstream')%恢复的比特信息
subplot(3,1,2)
plot(t,I_recover_data);legend('I Bitstream')%恢复的I路信息
subplot(3,1,3)
plot(t,Q_recover_data);legend('Q Bitstream')%恢复的Q路信息
- 本次的QPSK调制与解调实验过程就是这样,有不足欢迎评论,加油!
QPSK调制与解调(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)相关推荐
- QPSK调制与解调-MATLAB基带仿真
QPSK调制与解调-MATLAB基带仿真 仿真步骤 产生一定长度的值为0或1的随机序列 s ( t ) s(t) s(t). 将 s ( t ) s(t) s(t)映射到QPSK星座图上的星座点. 产 ...
- 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)
16QAM调制解调仿真目录 一.仿真要求 二.仿真方案详细设计 三.仿真结果及结论 四.仿真代码 一.仿真要求 1.用基带等效的方式仿真16-QAM在AWGN信道下的误码率和误比特率性能,并与理论值相 ...
- 16QAM调制与解调-MATLAB基带仿真
16QAM调制与解调-MATLAB基带仿真 ---------------------------- 2020.05.14更新:---------------------------------- 有 ...
- MFSK调制与相干解调-MATLAB基带仿真
MFSK调制与相干解调-MATLAB基带仿真 MFSK调制原理 发送信号形式:(等概) s 1 = ( E , 0 , - , 0 ) s_{1}=(\sqrt{\mathcal{E}}, 0, \l ...
- matlab dpsk,2DPSK调制与解调matlab(最新整理)
<2DPSK调制与解调matlab(最新整理)>由会员分享,可在线阅读,更多相关<2DPSK调制与解调matlab(最新整理)(5页珍藏版)>请在人人文库网上搜索. 1.- 2 ...
- 2DPSK调制解调matlab,2DPSK调制与解调-matlab
<2DPSK调制与解调-matlab>由会员分享,可在线阅读,更多相关<2DPSK调制与解调-matlab(4页珍藏版)>请在人人文库网上搜索. 1.- 2DPSK 调制与解调 ...
- FPGA 数字信号处理之 FSK 调制、解调的实现与仿真基于 verilog + ise + modelsim + matlab (保姆级)
试验说明: 笔者复现FSK调制.解调的过程中,在网上查了很多很多相关文章,至少在本文之前,没发现能在参考一篇博文的情况下能完整复现实验结果的.总之,全乎的基本没有. 本笔记(文)的目标是让入门者或者说 ...
- 信号的调制与解调matlab仿真,基于MATLAB对信号调制与解调的仿真
基于MATLAB对信号调制与解调的仿真 2.3 2PSK的基本原理和调制解调实现 数字相移键控,记作PSK(Phase shift-keying ),二进制相位键控记作2PSK. 2PSK就是根据基带 ...
- qpsk的映射过程_(完整版)QPSK调制原理及matlab程序实现
QPSK 已调信号生成 一. QPSK 介绍 QPSK 是英文 Quadrature Phase Shift Keying 的缩写,意为正交相移键 控,是一种数字调制方式.其有抗干扰性强.误码性能好. ...
- matlab实现2dpsk调制与解调,2DPSK调制与解调 matlab
%- 2DPSK 调制与解调 %--------------------------------------------------- %>>>>>>>> ...
最新文章
- poj1273(最大网络流问题模版)
- 深度学习 Caffe 初始化流程理解(数据流建立)
- 论文浅尝 | 基于深度强化学习的远程监督数据集的降噪
- 官宣丨中国移动云能力中心新增5项可信云认证,斩获2项大奖!
- ASP.NET中对STA COM组件的不正确调用产生的w3wp远程DoS
- SQL Server Junior Database Administrator方案相关的访谈问答
- 【渝粤教育】广东开放大学 标准的研制与编制 形成性考核 (35)
- 7. Swift 基于Xmpp和openfire实现一个简单的登录注册
- 寒江独钓——win内核编程读书笔记-1
- eclipse alt+/ 无效时,如何设置 《转》
- Unity读取内部、外部资源详解
- linux安装工具的过程
- Cesium:加载OSGB倾斜摄影三维模型
- 在多个浏览器中添加IDM插件
- 快速排名系统询火星推荐_seo排名工具推荐10火星:比较好用的SEO长尾关键词
- AD软件——设计总结(差分布线,蛇形布线)
- 88e1111 phy芯片在arm平台的配置及接口介绍
- 如何写互联网产品分析报告
- test\fmw\gtest\include\gtest/gtest-printers.h(714) : error C2977: “std::tuple”: 模板 参数太多
- 给中国学生的第三封信:成功…
热门文章
- window 2012 上安装 sql server 2005 出错的解决方案
- oracle 数据库官网下载流程
- Oracle数据库阶段版本
- 5006.推荐初学者几本CCNA教程和材料
- 网管员的任务与职责漫谈
- ListView 控件与 ImageList 控件
- php+分割文本文件,python实现:将文本文件分割成多个小文本文件(php也可实现)...
- 【聚沙成塔】将Mon Jun 01 2020 00:00:00 GMT+0800 (中国标准时间) 转换为 2020-06
- PyTorch Bert文本分类
- 3GP、MP4视频转换器下载