波形系列之混合波

本文介绍了如何使用Matlab进行混合波的生成和仿真,通过正弦波的相乘得到混合波,并利用频域分析验证频率分量。在Matlab中,使用fft函数进行频域分析,关注采样分辨率和有效峰值范围。接着,讨论了功能模块的实现,包括正弦波生成、混合器(乘法器)的应用以及信号位宽的考虑。最后展示了仿真结果。
摘要由CSDN通过智能技术生成

前面我们做了一个三角波,通过调节频率控制字、相位控制字可以输出正弦波、余弦波、三角波等等。但是有时候我们需要的是两种波形的混合波,这一小节我们就来看看怎么生成混合波。

1.Matlab仿真

在这之前很重要的一步工作就是仿真,一般使用Matlab做仿真。这里的仿真跟FPGA里面的仿真不太一样。
a.用前一篇的知识生成两个待混合的正弦波信号,例如:信号1:sig_1 = 1M;信号2:sig_2 = 5M;
b.混合:混合即信号相乘sig_1*sig_2,得到的M混合波sig_mix包含两个频率分量,一个是6 M= 5+1(M),一个是4M= 5-1(M)。这里面用到的是积化和差公式。
混合后的波形如下图
1.gif

c.频域分析
频域分析的目的是验证生成的目标频率是否正确。
Matlab封装了许多库函数,仿真的时候直接调用这里的库函数,非常的方便。这里我们使用的分析函数是fft。这里有几点需要说明:
(1).采样分辨率:
采样频率还是fs=50MHZ,采样点数N=2048,
频率分辨率为:fs/N;
N越高,采样分辨率越高,采样点数越多,得到的结果越精确。
(2).有效峰值范围
下图可以看到有两组类似镜像的信号。前1024个点表示的是正频域部分,后1024个点表示的是复频域部分。由于我们的混合信号是实信号,对应正频域部分。所以该例中我们只需要分析前1024个点。
调用该函数并且给出相应的参数即可得到分析结果。
2.gif

(3).目标频率
上图看到,前1024个点有两个峰值,对应混合波包含的频率分量。下面计算其中一个的目标频率
放大其中一个峰值,它对应的横坐标为165,则目标频率f1 = fs/Nx = 50M/2048165 ~= 4M,另外一个自己动手计算一下,结果为6M。
3.gif

2.功能模块说明

功能模块的实现也不复杂,如果上一篇博客的内容你弄明白了,在它的基础上做一些改动。
1.生成两个正弦波信号
2.调用一个混合器,即乘法器。
3.注意信号的位宽。

3.仿真结果展示

4.gif

仿真得到的波形如上图。仿真步骤在上一篇博客里有介绍,见《波形系列之正弦波发生器》,介于篇幅限制,这里就不再说明了。另外,如果大家觉得这篇博客对你还是有些帮助,希望大家点个喜欢,需要程序的朋友在下面留言,我会将代码打包好发给大家。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下一个雨天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值