clc;

clear all;

%假定接收端已经实现载波同步,位同步(盲信号解调重点要解决的问题:载波同步(costas环(未见到相关代码)),位同步(Gardner算法(未见相关代码)),帧同步)

%carrier frequency  for modulation and demodulation

fc=2.5e6;

f_code=2.4e6;

fs=24e6;

%QPSK transmitter

data=2500  ;                %原码个数

rand_data=round(rand(1,2500));    %产生5000个随机数 均值为0  方差为1

%seriel to parallel        %同时单极性码转为双极性码

for  i=1:data

if rem(i,2)==1    %如果i是奇数

if  rand_data(i)==1   %如果第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=fs/f_code;         %明白了,zero为过采样率。它等于 采样率fs/码速率。采样率为24MHZ

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=25;

N=2*zero*NT;    % =500

rf=0.25;

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);

figure(1)

SUM=abs(fftshift(fft(sum)))

f=linspace(-fs/2,fs/2,length(sum))

plot(f,10*log(SUM/max(SUM)))                 %产生QPSK信号

sum4=sum.^4;                                 %进行4次方并计算频谱

SUM4=abs(fftshift(fft(sum4)))

figure(2)

plot(f,10*log(SUM4/max(SUM4)))

qpsk频谱图matlab,QPSK调制得出的调制信号频谱波形多了一个点频信号相关推荐

  1. FFT快速傅里叶变换的应用——画单边频谱图matlab

    FFT快速傅里叶变换的应用--画单边频谱图matlab 快速傅里叶变换在数字信号处理里用的十分广泛,在matlab仿真中,处理信号的时频域变换十分有效,这里结合两个做过的仿真,来说一说fft的应用:画 ...

  2. matlab fft画频谱图,matlab 用 fft画频谱

    matlab 用 fft画频谱 关注:193  答案:2  手机版 解决时间 2021-01-19 14:14 提问者挥映在沉默里的渲染 2021-01-18 18:27 在这样一段程序中 clear ...

  3. qpsk相点 matlab,QPSK误码率和星座图MATLAB仿真

    一.数字调制便是把数字基带信号的频谱搬移到高频处,构成适宜在信道中传输的带通讯号.根柢的数字调制办法有振幅键控(ASK).频移键控(FSK).必定相移键控(PSK).相对(差分)相移键控(DPSK). ...

  4. 频谱图matlab找文件路径,光学图像识别相关器的MATLAB仿真

    收稿日期:2003-12-24 基金项目:广东省自然科学基金资助项目(021089) 作者简介:林睿(1972-),男,重庆人,华南师范大学2002级硕士研究生;常鸿森(1944-),男,广东广州人, ...

  5. matlab通信原理实验低频高频,通信原理实验一 模拟调制已调信号的波形和频谱.doc...

    通信原理实验一 模拟调制已调信号的波形和频谱.doc (17页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 <通信原理>课 ...

  6. 理解图像傅里叶变换的频谱图

    很多人都不了解图像(二维)频谱中的每一点究竟代表了什么,有什么意义? 一句话解释为: 二维频谱中的每一个点都是一个与之一 一对应的二维正弦/余弦波. 视觉的优势永远大于其他器官对人的作用,所以对标眼睛 ...

  7. 【零基础】看懂理解傅里叶变换后的频谱图-附例题

    首先安利一个网站,在线做傅里叶变换,不用等MATLAB漫长的启动了 https://sci2fig.herokuapp.com/fourier 文章中部分图片来自 https://blog.csdn. ...

  8. 二维傅里叶变换频谱图的直观理解

    众所周知:频谱中心代表低频,四周代表高频. 问:那(u,v)一点代表什么? 答: 1.当为水平方向的正弦图片时,二维傅里叶变换后,其只有u方向的频谱值: 2.当为垂直方向的正弦图片是,二维傅里叶变换后 ...

  9. matlab计算信号得频谱,用MATLAB分析离散信号的频谱与信号的采样

    <用MATLAB分析离散信号的频谱与信号的采样>由会员分享,可在线阅读,更多相关<用MATLAB分析离散信号的频谱与信号的采样(7页珍藏版)>请在人人文库网上搜索. 1.实验六 ...

  10. 不愧是摸鱼高手Python matplotlib 绘制频谱图都会,能怪老板不管

    复习回顾 matplotlib 是Python专门用来绘制渲染的模块,其底层主要分为脚本层.美工层和后端.脚本层为我们提供常见图形绘制如折线.柱状.直方.饼图.以往文章 这么详细的Python mat ...

最新文章

  1. React Native知识4-Image组件
  2. java logger 静态,java11教程--公共静态接口System.Logger
  3. WPF实现背景透明磨砂,并通过HandyControl组件实现弹出等待框
  4. GeoServer之styles定制
  5. 斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代
  6. oracle 数据结构
  7. 信贷全流程监控报表有哪些?
  8. 由于BOM头导致的Json解析出错
  9. 【转】MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
  10. Heap与Stack的区别(转载,刚看到的)
  11. 翻译: TensorFlow 2.0 中的新功能
  12. Linux------进程概念、进程控制
  13. 三步走,帮你整理微信运营思路
  14. 计算机会计系统与手工会计系统有什么异同,会计电算化系统与手工会计系统的比较研究...
  15. 宝塔搭建网站教程php,怎么利用宝塔面板搭建网站详细教程
  16. 对IQueryable和IEnumerable的认识
  17. 程序是怎样跑起来的-读书文摘
  18. django教程day06
  19. SpringBoot源码学习系列之异常处理自动配置
  20. JS获取当前网页大小以及屏幕分辨率等

热门文章

  1. foobar2000 Mac版终于来了
  2. PLSQL导入.txt文件
  3. EditPlus 3 网页中文乱码问题
  4. 平面与网页设计中关于颜色搭配的问题
  5. 真是恍然大悟啊!java从入门到精通pdf百度云
  6. 视觉SLAM十四讲学习笔记——ch9后端1
  7. JAVA三大框架入门
  8. ssm三个框架分别用来干什么_SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
  9. win10 计算机显示英文,电脑win10系统改了中文之后为何显示还是英文?
  10. drools规则引擎介绍