kl800.com省心范文网

QPSK调制解调完整程序(配有自己的注释)


调制解调完整程序(配有注释 注释) QPSK 调制解调完整程序(配有注释)
clc; clear all; %假定接收端已经实现载波同步,位同步(盲信号解调重点要解决的问题:载波 同步 (costas 环 (未见到相关代码) , ) 位同步 (Gardner 算法 (未见相关代码) , ) 帧同步) % carrier frequency for modulation and demodulation fc=5e6; %QPSK transmitter data=5000 ; %码数率为 5MHZ %原码个数 rand_data=randn(1,5000); for i=1:data if rand_data(i)>=0.5 rand_data(i)=1; else rand_data(i)=0; end end %seriel to parallel %同时单极性码转为双极性码 for i=1:data if rem(i,2)==1 if rand_data(i)==1 I(i)=1; I(i+1)=1; else I(i)=-1; I(i+1)=-1; end else if rand_data(i)==1 Q(i-1)=1; Q(i)=1; else Q(i-1)=-1; Q(i)=-1; end end end % zero insertion ,此过程称为成形。成形的意思就是实现由消息到波形的 转换,以便发射,脉冲成形应该是在基带调制之后。 zero=5; %sampling rate 25M HZ ,明白了,zero 为过采样率。它 等于 采样率 fs/码速率。

for

i=1:zero*data % 采样点数目=过采样率*原码数目 if rem(i,zero)==1 Izero(i)=I(fix((i-1)/zero)+1); Qzero(i)=Q(fix((i-1)/zero)+1); else Izero(i)=0; Qzero(i)=0; end

end %pulse shape filter, 接着,将进行低通滤波,因为 随着传输速率的增大, 基带脉冲的频谱将变宽 %如果不滤波(如升余弦滤波)进行低通滤波,后面加载频的时候可能会出现困 难。 %平方根升余弦滤波器 % psf=rcosfir(rf,n_t,rate,fs,'sqrt') rate:过采样率, rf:滚降因子, n_t: 滤波器阶数,fs:采样率 %用在调制或发送之前,用在解调或接受之后,用来降低过采样符号流带宽并不 引发 ISI(码间串扰) NT=50; N=2*zero*NT; % =500 fs=25e6; rf=0.1; psf=rcosfir(rf,NT,zero,fs,'sqrt');% psf 大小为 500 Ipulse=conv(Izero,psf); Qpulse=conv(Qzero,psf); %为什么数字信号传输也要过采样,成形滤波? %答:过采样的数字信号处理起来对低通滤波器的要求相对较低,如果不过采样, 滤波的时候滤波器需要很陡峭,指标会很严格 %成形滤波的作用是保证采样点不失真。如果没有它,那信号在经过带限信道后, 眼图张不开,ISI 非常严重。成形滤波的位置在基带调制之后。 %因为经成形滤波后,信号的信息已经有所损失,这也是为避免 ISI 付出的代价。 换句话说,成形滤波的位置在载波调制之前,仅挨着载波调制。 %即:(发送端)插值(采样)-成形-滤波(LPF)-加载频(载波调制)-加噪声至 (接收端)乘本振-低通-定时抽取-判决。 %modulation for i=1:zero*data+N %采样点数目改变 (因为卷积的缘故) t(i)=(i-1)/(fs); %这里因为假设载频与码速率大小相等,所以用载频 fc 乘以过采样率=采样率。 Imod(i)=Ipulse(i)*sqrt(2)*cos(2*pi*fc*t(i)); Qmod(i)=Qpulse(i)*(-sqrt(2)*sin(2*pi*fc*t(i))); end sum=Imod+Qmod;

%QPSK receiver %demodulation for i=1:zero*data+N Idem(i)=sum(i)*sqrt(2)*cos(2*pi*fc*t(i)); Qdem(i)=sum(i)*(-sqrt(2)*sin(2*pi*fc*t(i))); end %matched filter mtf=rcosfir(rf,NT,zero,fs,'sqrt'); Imat=conv(Idem,mtf); Qmat=conv(Qdem,mtf); %data selection for i=1:zero*data Isel(i)=Imat(i+N); Qsel(i)=Qmat(i+N); end %sampler %提取码元 for i=1:data Isam(i)=Isel((i-1)*zero+1); Qsam(i)=Qsel((i-1)*zero+1); end %decision threshold threshold=0.2; for i=1:data if Isam(i)>=threshold Ifinal(i)=1; else Ifinal(i)=-1; end if Qsam(i)>=threshold Qfinal(i)=1; else Qfinal(i)=-1; end end %parallel to serial for i=1:data if rem (i,2)==1 if Ifinal(i)==1 final(i)=1; else final(i)=0; end else if Qfinal(i)==1

final(i)=1; else final(i)=0; end end end % 绘图 figure(1) plot(20*log(abs(fft(rand_data)))); axis([0 data -40 100]); grid on; title('spectrum of input binary data'); figure(2) subplot(221); plot(20*log(abs(fft(I)))); axis([0 data -40 140]); grid on; title('spectrum of I-channel data'); subplot(222); plot(20*log(abs(fft(Q)))); axis([0 data -40 140]); grid on; title('spectrum of Q-channel data'); subplot(223); plot(20*log(abs(fft(Izero)))); axis([0 zero*data -20 140]); grid on; title('spectrum of I-channel after zero insertion'); subplot(224); plot(20*log(abs(fft(Qzero)))); axis([0 zero*data -20 140]); grid on; title('spectrum of Q-channel after zero insertion'); figure(3); subplot(221); plot(psf); axis([200 300 -0.2 0.6]); title('time domain response of pulse shaping filter'); grid on; subplot(222); plot(20*log(abs(fft(psf)))); axis([0 N -350 50]); grid on; title('transfer function of pulse shaping filter');

subplot(223); plot(20*log(abs(fft(Ipulse)))); axis([0 zero*data+N -250 150]); grid on; title('spectrum of I-channel after impulse shaping filter'); subplot(224); plot(20*log(abs(fft(Qpulse)))); axis([0 zero*data+N -250 150]); grid on; title('spectrum of Q-channel after pluse shaping filter'); figure(4) subplot(211); plot(20*log(abs(fft(Imod)))); axis([0 zero*data+N -250 150]); grid on ; title('spectrum of I-channel after modulation'); subplot(212); plot(20*log(abs(fft(Qmod)))); axis([0 zero*data+N -250 150]); grid on; title('spectrum of Q-channel after modulation'); figure(5) subplot(221); plot(20*log(abs(fft(Idem)))); axis([0 zero*data -200 150]); grid on; title('spectrum of I-channel after demodulation'); subplot(222); plot(20*log(abs(fft(Qdem)))); axis([0 zero*data+N -200 150 ]); grid on; title('spectrum of Q-channel after demodulation'); subplot(223); plot(20*log(abs(fft(Imat)))); axis([0 zero*data -400 200]); grid on; title('spectrum of I-channel after matched filter'); subplot(224); plot(20*log(abs(fft(Qmat)))); axis([0 zero*data -400 200]); grid on; title('spectrum of Q-channel after matched filter'); figure(6) subplot(221);

plot(20*log(abs(fft(Isam)))); axis([0 data -40 150]); grid on; title('spectrum of I-channel after sampler'); subplot(222); plot(20*log(abs(fft(Qsam)))); axis([0 data -40 150 ]); grid on; title('spectrum of Q-channel after sampler'); subplot(223); plot(20*log(abs(fft(Ifinal)))); axis([0 data -40 150]); grid on; title('spectrum of I-channel after decision threshold'); subplot(224); plot(20*log(abs(fft(Qfinal)))); axis([0 data -40 150]); grid on; title('spectrum of Q-channel after decision threshold'); figure(7) plot(Isel,Qsel); axis([-1.6 1.6 -1.6 1.6]); grid on; title('constellation of matched filter output'); figure(8) plot(Isam,Qsam,'X'); axis([-1.2 1.2 -1.2 1.2]); grid on; title('constellation of sampler'); figure(9) plot(20*log(abs(fft(final)))); axis([0 data 0 100]); grid on; title('aspectrum of final received binary data');


QPSK调制解调完整程序(配有自己的注释).doc

调制解调完整程序(配有注释 注释) QPSK 调制解调完整程序(配有注释) cl

BPSK和QPSK调制解调原理及MATLAB程序.doc

BPSK和QPSK调制解调原理及MATLAB程序 - 2.1 PSK 调制方式

QPSK调制解调器的设计及FPGA实现_图文.pdf

对 于保密论文,按保密的有关规定和程序处理。 研究生签名:j与L 叫矿年伯晌 硕士论文 QPSK调制解调器的设计及FPGA实现 1绪论1.1课题背景通信技术与计算机技术,...

QPSK调制解调的仿真.doc

结合以上的比较论证以及自身的能力,最终 决定用程序法来完成此次对 QPSK 调制解调系统的仿真。 第 2 页共 2 页 通信工程专业综合课程设计 2 仿真原理 四相...

QPSK调制解调的simulink仿真.doc

图 3 QPSK 相干解调器 四、设计步骤 1.QPSK 调制电路 图4 QPSK 调制仿真图 4 沈阳理工大学课程设计专用纸 2.AWGN 信道模型 AWGN 信道模块可以将加性高斯白...

基于VHDL语言的QPSK调制与解调的实现.doc

基于VHDL语言的QPSK调制解调的实现_信息与通信_工程科技_专业资料。利用VHDL语言编写QPSK调制解调程序; 详细叙述通信原理QPSK的原理 ...

QPSK调制与解调原理.doc

QPSK调制解调原理_信息与通信_工程科技_专业资料。讲述了QPSK的调制与解调。输入序列如何调制成波形 QPSK 调制:四相相移调制是利用载波的四种不同相位差来表征...

QPSK调制解调实验.doc

QPSK调制解调实验_社会学_人文社科_专业资料。实验一 QPSK 调制实验一、实验目的...(2)建立程序文件 %设置仿真间隔 xSampleTime=1/1000; %设置信噪比取值范围 x...

基于FPGA的QPSK调制解调电路设计与实现_图文.doc

基于FPGA 的 QPSK 调制解调电路设计与实现数字调制信号又称为键控信号,调

基于Matlab 的QPSK调制解调仿真设计与研究.doc

天津理工大学计算机与通信工程学院 通信工程专业设计说明书 基于 Matlab/Simulink 的 QPSK 调制解调仿真设计与研究 姓学班日 名号级期 韩双年 20092226 09 通信 3...

BPSK, QPSK, 16QAM, 64QAM的调制解调程序.txt

BPSK, QPSK, 16QAM, 64QAM的调制解调程序(详细注释)调制: function mod_out=...BPSK QPSKMATLAB仿真 9页 免费 QPSK调制解调完整程序(配... 6页 3下载券...

11211181调制解调.doc

交大无线通信仿真作业,六选二,调制解调和分集技术,希望能帮到你! ....用 matlab 运行“bpsk.m” 、“qpsk.m” (a)在各程序中标注“注释”处加...

QPSK调制与解调的软件实现_图文.ppt

QPSK调制解调的软件实现_信息与通信_工程科技_专业资料。QPSK调制解调的软件实现 simulink仿真 QPSK调制解调的软件 实现 一 QPSK调制解调原理 ? 1 QPSK调制...

QPSK调制与解调系统的MATLAB实现.doc

QPSK 调制解调系统的 MATLAB 实现 及性能分析摘要:QPSK 是英文

QPSK调制解调系统的systemview仿真设计 2.doc

二、课程设计题目及要求 题目:QPSK 调制解调系统的 ...(频率 R) ,经过串并子程序生成两频率 R/2 并行...通过这次实验,让我对通信原理这门课有了更深的认识...

QPSK调制解调技术的设计与仿真.doc

本次设计在理解 QPSK 调制解调原 理的基础上应用 MATLAB 语言来完成仿真,仿真出了 QPSK 的调制以及解调的仿真图,包 括已调信号的波形,解调后的信号波形,眼图和...

qpsk调制与解调.doc

郑州轻工业学院 课程设计任务书 题目 专业、班级 利用 MATLAB 实现 QPSK 调制解调 学号 姓名 主要内容、基本要求、主要参考资料等:主要内容: 已知数字信号 ...

qpsk调制解调基于fpga.doc

一 实验概述 本实验包括:分频器设计、计数器设计、串行移位输出器设计、伪码发生器 设计、QPSK I/Q 调制器设计、QPSK I/Q 解调器设计,基于选项法中频调制器设...

π_4+QPSK调制解调的MATLAB仿真及性能分析_图文.pdf

2011 年第 4期 2 0 1 1年 8月 航 空兵 器 AER0 WEAP0NRY 2011 No.4 Aug.2011 4 QPSK调制解调的MATLA B仿真及性能 分析 翟 磊( 中国空 空导弹研 ...

在matlab上的的QPSK调制与解调仿真.doc

利用MATLAB 实现 QPSK 调制及解调 QPSK 的调制与解调电路的 MATLAB 实现摘 要本课程设计主要讨论了 QPSK 的调制解调原理, 分析了它们的调制解调实现过程 的程序...