本帖最后由 娇娇9228 于 2017-12-11 20:03 编辑

宋老师,非常感谢您的耐心解答。我还有一个问题想要请教您。OFDM脉冲在发送时,会在后面加上一个循环后缀码,这样在接收端估计信号开始位置时,当有E个采样点的误差时,能通过接收端数据的傅里叶变换然后求相位算出E.

没有估计误差的公式和有估计误差的公式如下,这是我从论文里截图的,已经查过好多文件,公式应该没有错误。  接收端没有估计误差

1.png (10.26 KB, 下载次数: 3)

接收端没有估计误差

2017-12-11 20:01 上传

接收端有E个估计误差

2.png (14.03 KB, 下载次数: 1)

2017-12-11 20:01 上传

之前的那个问题就是有E个估计误差,求E。根据公式算出来是对的。但是我想要实现OFDM 这个特性就不对了,总求不出E来。代码如下:

OFDM脉冲的生成:将0-24kHZ的带宽分成64个子载波,每个子载波的频率是375HZ,我只想要18-20kHZ发送数据(1或者-1),其他子载波上的数据都是零。每个子载波只发送一个数据,载波是cos波,因为cos0 = 1,所以18-20khz(48-54个子载波)上还是1或者-1. 不知道这样生成的算OFDM脉冲吗? 将组成的64个数据进行逆傅里叶变换,并将每个脉冲的前20个数据作为循环后缀,组成发送序列。在接收端经过傅里叶变换算误差E,我现在的问题是这个E总算不出来。

%发送序列生成

data_initial = zeros([1 64]);

num=7;            %总共7个数

rand('seed',0);   %使每次产生相同的随机数

a=rand(1,num);   %生成0~1随机数序列

a(a>0.5)=1;

a(a<=0.5)=-1;

data_initial(48:54) = a;   %发送的序列

data_ifft = ifft(data_initial); %逆傅里叶变化为复数。

add = zeros(1,200);   %200个采样的间隔

cs = data_ifft(1:20);  %前20个值为循环序列

data_send = [data_ifft cs add]; %发送序列

data_receive1 = fft(data_send(1:64),64);   %模拟接收端没有误差

E =  3;

data_receive = fft(data_send(1+E : 64+E),64);  %模拟接收端有E个误差

phase_after = angle(data_receive);

phase_before = angle(data_receive1);

phase_dif = phase_after - phase_before;

phase_dif1 = unwrap(phase_dif);

for n = 1:64

E (n) = phase_dif1(n)/n /(2*pi)*64;

end

matlab求复数相位角,怎么求复数相位相关推荐

  1. matlab 求虚数相位角,在matlab中怎么计算其相位

    本文收集整理关于在matlab中怎么计算其相位的相关议题,使用内容导航快速到达. 内容导航: Q1:相位超前补偿器在matlab中是什么模块 首先介绍一下函数,angle()是求相位角,angle() ...

  2. j90度度复数运算_复数和相量运算复数定义及案例转换汇总

    电气工程中使用的数学将电阻,电流或直流电压加在一起使用所谓的"实数",用作整数或分数. 但实数不是我们需要使用的那种数字,特别是在处理频率相关的正弦源和矢量时.除了使用正常数字或实 ...

  3. F(w)的模是偶函数,相位角是奇函数

    许多人在学习信号与系统的时候,是不是会碰到许多疑惑,其实并不是特别需要你去解决,但是作为一个热爱数学的工科生来说,不解决的话内心真的可能是挣扎. 傅里叶变换中说F(w)的模是偶函数,相位是奇函数,我们 ...

  4. CORDIC算法计算复数相位角(含verilog源码)

    前言   截止2022年2月15日,中国科学院大学<高等数字集成电路分析及设计>课程终于完结,所以我计划分享几个自己完成的实践作业,供大家交流学习. 设计收获 对cordic算法有了清晰的 ...

  5. python取复数的相位角_复数相位角怎么算

    展开全部 设复数为A+Bi,那么相位就是arctan(B/A). 把形e68a84e8a2ad62616964757a686964616f31333431363635如z=a+bi(a,b均为实数)的 ...

  6. python abs函数能否求复数模_python中对复数的运算

    大家对复数想必都不陌生,那就来看看下面几道题能不能作正确? 第一题 a = 1.23e+4+9.87e+6j a.real 与 a.imag的值为: A 12300.0 B 1.23e + 4 C 9 ...

  7. [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项

    [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项 1. 背景 现有长度为11年的5个时间序列,为某拟研究对象的5个参数.现计划先通过快速傅里叶变换求每个系数序列的显著周期项,再分别按照傅里 ...

  8. MATLAB常见矩阵运算函数,矩阵的转置transpose()、求行列式值det()、求矩阵的秩rank()、求矩阵的特征值eig()、求逆矩阵inv()

    MATLAB常见矩阵运算函数 1.转置 如矩阵A 转置后 2.求行列式的值det(A) 使用此函数必须保证A为方阵 3.求矩阵的秩 4.求方阵的特征值 5.求方阵的逆矩阵

  9. matlab(simulink)里怎么求一个波形的动态平均值

    matlab(simulink)里怎么求一个波形的动态平均值 搭建一个简单的模型 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔 ...

最新文章

  1. Python + 爬虫:可视化大屏帮你选粽子
  2. python【力扣LeetCode算法题库】面试题 10.01-合并排序的数组
  3. C#编程(四十四)----------string和stringbuilder
  4. 三十三、五大数据处理的R包
  5. 基于IdentityServer4 实现.NET Core的认证授权
  6. mysql开启yum search pt-mysql_Centos使用MySQL工具Percona Toolkit
  7. C/S和B/S模式的主要特点以及区别在那里?画出CGI工作原理图,具体描述CGI的主要流程和实现步骤。
  8. iPhone 13 Pro Max Magsafe保护壳曝光:命名方式疑似确认
  9. 谷歌暗示android wear未来或兼容ios系统!腾讯,传谷歌今年5月将推出iOS版本Android Wear...
  10. [转]【人是怎么废掉的?】
  11. 论文笔记_S2D.52_CMRNet++:在激光雷达地图中进行内参未知的相机的单目视觉定位
  12. Linux 网络基本配置
  13. 关于路由器认证校园网的可行方案.md
  14. ruby与ruby on rails环境部署
  15. 绑定变量窥视_窥视量子计算与密码学
  16. 流程控制语句swtch
  17. ansys经典界面分析工字钢_ansys工字钢实例分析.doc
  18. registration.setOrder
  19. C++实现中文大写与阿拉伯数字的相互转换(类封装)
  20. 准备做个舒米的专辑,回顾一下这位我最喜欢的车手

热门文章

  1. imovie的快速入门
  2. 多维数据模型与大数据应用
  3. 2020年12月1日 misc wp
  4. KDB+ database
  5. Fiddler 手机抓包
  6. Android计步器的实现(2)
  7. 排列组合思维导图_思维模型10 - 排列组合是什么?
  8. vue-router next(false) 禁止访问某个页面时,不保留历史访问记录
  9. 【ICML 2020对比学习论文解读】SimCLR: A Simple Framework for Contrastive Learning of Visual Representations
  10. MySQL经纬度距离查询