matlab phase shift,用MATLAB仿真相移键控

MATLAB 仿真实验报告

题目:相移键控仿真(Phase Shift Keying Simulation )

一、初始化变量:

对样本变量进行初始化,包括每一个符号,符号的数值,字长,还有性噪比。

nSamp = 8; numSymb = 100; %取样长度为8,数值长度为100 M = 4; SNR = 14; %设置M=4,性噪比为14dB

hStr = RandStream('mt19937ar', 'Seed', 12345); %用随机数产生程序产生随机数

二、产生原始信号序列:

接下来,使用RANDI 函数生成随机信息,长度为0到M-1共M 个。因为模拟QPSK 的,这些符号是0到3。第一个10数据点绘制。

numPlot = 10; %画图时取前十个样本

msg_orig = randi(hStr, [0 M-1], numSymb, 1); %产生原始随机信号序列 stem(0:numPlot-1, msg_orig(1:numPlot), 'bx'); %画出序列 xlabel('Time'); ylabel('Amplitude');%横轴为时间,纵轴为幅度

af72de8ced67ed08d92de2a2c5f7d034.png

三、进行相位调制:

使用MODEM.PSKMOD 来调制数据,参数使用QPSK 调制和灰色编码。

用RECTPULSE 对载波采取8倍采样率的上抽样,使用SCATTERPLOT 看信号星座

hMod = modem.pskmod('M', M, 'PhaseOffset', pi/4, 'SymbolOrder', 'Gray'); msg_tx = modulate(hMod, msg_orig); %进行相位调制 msg_tx = rectpulse(msg_tx,nSamp);%对信号进行抽样 h1 = scatterplot(msg_tx); %画出信号的星座图

Time

A m p l i t u d e

b796d339e9d75ba24f6dd2da8266f066.png

-0.6

-0.4

-0.2

00.20.4

0.6

Q u a d r a t u r e

In-Phase

Scatter plot

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值