CW信号的正交解调

1.CW信号

  CW可以叫做等幅电报,它通过电键控制发信机产生短信号"."(点)和长信号"--"(划),并利用其不同组合表示不同的字符,从而组成单词和句子。

  CW信号可以看作一种幅度调制信号,类似于幅移键控(2ASK信号)其携带的信息保存在其幅度中,通过改变载波的幅度来实现基带数据的传输。

其函数表达式如下:

\[s(t) = m(t)*cos(2\pi ft + \varphi)\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space m(t) \in \left \{ 0,1\right \} \]

其中:
\(m(t)\):表示基带信号。
\(cos(2\pi ft + \varphi)\):是调制载波。

2.CW的数字正交解调

原理:

通过正交的方式即可解调出基带信号,其数学推导如下:

  假设基带信号为\(m(t)\),调制的载波频率为\(f_1\),解调的载波频率为\(f_2\),相位为\(\varphi\),LPF为低通滤波器,则:

I路:

\[I(t) = LPF(s(t)*cos(2\pi f_2t + \varphi)) = LPF(m(t)*cos(2\pi f_1t) *cos(2\pi f_2t + \varphi)) \]

根据三角函数公式:

\[\begin{split}I(t) &= LPF(m(t)*cos(2\pi f_1t) *cos(2\pi f_2t + \varphi))\\&= LPF(\frac{1}{2}m(t)*[cos(2\pi (f_1 + f_2)t+\varphi) + cos(2\pi (f_1 - f_2 )+ \varphi)]) \\&= \frac{1}{2}m(t)*cos(2\pi (f_1 - f_2 )+ \varphi)) \\ \end{split} \]

同理:Q路:

\[\begin{split}Q(t) &= LPF(m(t)*cos(2\pi f_1t) *sin(2\pi f_2t + \varphi))\\&= LPF(\frac{1}{2}m(t)*[cos(2\pi (f_1 + f_2)t+\varphi) - sin(2\pi (f_1 - f_2 )+ \varphi)]) \\&= -\frac{1}{2}m(t)*sin(2\pi (f_1 - f_2 )+ \varphi)) \\ \end{split} \]

为了计算方便假设:

\[K=2\pi (f_1 - f_2 )+ \varphi \]

则:

\[\begin{split} & I(t) = \frac{1}{2}m(t)*cos(K) \\ & Q(t) = -\frac{1}{2}m(t)*sin(K) \end{split} \]

根据三角函数公式:

\[K = arctan(\frac{-Q(t)}{I(t)}) \]

注:\(arctan\)函数有作用域\((-\pi/2\space\space\space\space\pi/2)\)要求,所以将使用atan2函数替代。

\[\begin{split} & I(t) = \frac{1}{2}m(t)*cos(arctan(\frac{-Q(t)}{I(t)})) \\ & Q(t) = -\frac{1}{2}m(t)*sin(arctan(\frac{-Q(t)}{I(t)})) \end{split} \]

  向量旋转,将一个向量\((cos(\theta_1),sin(\theta_1))\),逆时针旋转\(\theta_2\),旋转后的坐标为\((cos(\theta_1-\theta_2),sin(\theta_1-\theta_2))\)。将I和Q看着一个向量,将其逆时针旋转\(arctan(\frac{-Q(t)}{I(t)})\),那么:

\[\begin{split} & I'(t) = \frac{1}{2}m(t)*cos(arctan(\frac{-Q(t)}{I(t)}) - arctan(\frac{-Q(t)}{I(t)})) =\frac{1}{2}m(t)\\ & Q'(t) = -\frac{1}{2}m(t)*sin(arctan(\frac{-Q(t)}{I(t)}) - arctan(\frac{-Q(t)}{I(t)})) = 0 \end{split} \]

这样就消除了相位差和频率差带来的误差,\(I'(t)\)就是我们解调的结果。其结果与频率差与相位差无关。

3.拍频信号

  看过电视剧里面发电报的应该不陌生,电台在发出或者接收电台信号的时候,经常会听到滴滴答答的声音,CW信号如何转化为音频信号,就需要通过拍频器来完成,将电信号转化为人耳可以识别的声音信号频率(20-20000Hz),通过扬声器播放。

4.MATLAB仿真

仿真代码:

close all;
fs = 100E3;%采样率
base_data = [1,0,0,1,0,1,0,0,0,1,1,0,0,1,0];
len = 1E3;
mt = interp1((1:length(base_data)), base_data, (0:length(base_data)/len:length(base_data)-length(base_data)/len), 'nearest');
f_carr_1 = 20E3;%调制载波频率
f_carr_2 = 21E3;%解调载波频率
fi = 0.2;%解调载波初始相位
t = 0:1/fs:(len-1)/fs;
cw_data = mt.*cos(2*pi*f_carr_1*t);I = mt.*cos(2*pi*(f_carr_1-f_carr_2)*t-fi)/2 + randn(size(t))/1000;
Q = -mt.*sin(2*pi*(f_carr_1-f_carr_2)*t-fi)/2 + randn(size(t))/1000;%% 向量旋转
theta0 = atan2(Q./(-mt),I./(mt));
It0 = I.*cos(theta0) - Q.*sin(theta0);
Qt0 = Q.*cos(theta0) + I.*sin(theta0);f_p = 4E3;%拍频频率
theta1 = (0:1:length(I)-1)*(f_p*(2*pi)/fs);
It1 = It0.*cos(theta1) ;%% 保存IQ数据FPGA使用仿真
% fid = fopen('CW.txt','w');
% for i = 1:l
%     fprintf(fid,'%d %d\n',floor(I(i)* (2^13)),floor(Q(i)* (2^13)));
% end
% fclose(fid);%% 绘制
figure
time = 6;
subplot(time,1,1);
plot(mt);
title('基带数据');subplot(time,1,2);
plot(cw_data);
title('调制数据');subplot(time,1,3);
plot(I);
title('I路');subplot(time,1,4);
plot(Q);
title('Q路');subplot(time,1,5);
plot(It0);
title('解调数据');subplot(time,1,6);
plot(It1);
title('解调数据(拍频)');

结果:

4.FPGA解调

有空补上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/856938.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

团队作业3

团队作业3--需求改进&系统设计这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13233这个作业的目标 修改完善需求规格说明书、系统设计、Alpha任务分配计划、测试计…

Authz0:自动化授权测试工具

免责声明 本文提供的资源仅供学习,利⽤本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使⽤者本⼈负责,本文及作者不为此承担任何责任,一旦造成后果请自行承担责任!简介 Authz0 是一款自动化授权测试工具。可以根据URL和角色与凭证识别未经授权的访问。URL和角…

戴尔T3680工作站 改造虚拟工作站,满足多人设计需求

在戴尔 T3680 工作站作为通过了 NVIDIA vWS兼容性认证的工作站,部署 Proxmox VE 和 DoraCloud,可以实现工作站虚拟化,满足多个用户设计需求。可以顺畅运行 SolidWorks、NX/UG 等大型CAD软件。满足企业 资源共享、信息安全、远程设计的业务需求。最近拿到一台 戴尔 T3680 工作…

HDU3746-Cyclic Nacklace

继续跟着邝斌飞刷KMP HDOJ3746 百度的时候发现题目英语弄错了,项链英文是Necklace,不是Nacklace读完之后我滴妈,上难度了呀 题意:就是给你个字符串a~z,,###:妈逼的不知道咋回事百度那个搜索不知道是不是总更新网页html一些东西,ADblock拦截又tm不好使了,还得重新拦截。…

天嵌通途xczu15eg学习笔记——基于iwip的TCP服务器性能测试(一)

学习记录——基于iwip的TCP服务器性能测试(一) 环境如下,Windows10,vivado2020.2 硬件部分设置如下:PS-PL之间的交互时钟,复位已关闭 Generate Output Products,Create HDL Wrapper,Export Hardware之后进入vitis开发环境 选择IwIP TCP Perf Server模版 打开Terminal中的…

PERIODNI

思路 哇, 看到这个就直接想到昨天学的经典应用 : 最大子矩形 好吧还是认真推一下 完蛋了是计数, 我们没救了 首先按照高度为优先级, 位置为键值建一颗小根笛卡尔树, 我们玩下样例找下性质 例如题目中给出的图片, 我们建成笛卡尔树就长这样其中每个点由 \(\{键值, 优先级\}\) 组…

2024-2025-1 20241421 《计算机基础与程序设计》第十三周学习总结

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计 这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十三周作业 这个作业的目标 复习知识,巩固所学 作业正文 https://www.cnblogs.com/118qa/p/18622459 教材学习内容总结概念 结构体是一种用户自定义的数据类型,…

Shell脚本编程题(八道)

Linux操作系统期末编程题——Shell脚本编程题(八道) 第一题 1.编程实现从键盘获取一个整数,按下列情况输出对应结果: (1)当该数值为 6 或 7 时,输出“休息日(Rest Day)”。 (2)当该数值为 1 至 5 时,输出“工作日(Working Day)”。 (3)其他情况输出“输入错误(E…

构建全方位大健康零售帮助中心:提升服务与体验

在当今社会,随着人们健康意识的不断提升,大健康零售市场迎来了前所未有的发展机遇。然而,面对琳琅满目的健康产品、复杂的健康理念以及日益增长的消费者需求,如何提供一个高效、便捷、全面的帮助中心,成为了大健康零售企业亟待解决的问题。在此背景下,引入Helplook工具,…

高新技术企业知识管理新篇章:高效内部知识库建设

高新技术行业作为经济发展的重要引擎,其创新能力和发展速度直接关乎国家的整体竞争力。然而,在快速发展的背后,高新技术企业面临着知识管理不善、信息共享不畅等挑战。为了应对这些挑战,高效搭建内部知识库显得尤为重要。本文将以Helplook工具为例,探讨如何高效构建高新技…

C# winform自定义图片空间 缩放、拖拽、绘画

首先简单介绍一下图片自定义的功能 1、滑动鼠标滚轮缩放图片; 2、按住鼠标左键拖拽图片; 3、可选绘画矩形、圆、直线、画笔; 4、可选连续绘画、单次绘画; 5、每次绘画通过事件返回起点坐标、终点坐标; 6、右击可重置图片大小(适应窗口)、原始尺寸(100%)、另存当前图片、清…

实验

任务41 #include <stdio.h>2 #define N 103 4 typedef struct {5 char isbn[20]; 6 char name[80]; 7 char author[80]; 8 double sales_price; 9 int sales_count; 10 } Book; 11 12 void output(Book x[], i…