一、CW信号形式
严格来说,CW有两种意义,一种是连续波(英语为Continuous Wave,缩写为CW),指的是振幅与频率恒定不变的电磁波,通常是正弦波,一般理解为正弦波作为载波的调制信号,CW可以包含线性调制(AM,DSB,SSB,VSB等)、非线性调制(FM、PM)、数字调制(ASK、FSK等)。另一种是等幅数据报或者等幅波电报,在无线电爱好者中常用。
本次仿真的是前者,数学表达式如下:
表示信号幅值,
表示载频,
表示初始相位,
表示脉宽。
二、仿真代码及结果展示
1.仿真代码
fs = 300; % 采样率 T = 1/fs; % 采样时间 N = 600; % 采样点数 t = (0:N-1)*T; % 采样时间序列 A_danpin = 10; % 设置信号幅度 f_danpin = 80; % 设置信号载频频率 y_danpin = A_danpin*cos(2*pi*f_danpin*t); % 信号表达式 %%%%%%%%%%%绘制时域图%%%%%%%%%%%% tiledlayout(2,1); % 创建一个2x1分块图布局 ax1 = nexttile; % 创建坐标区对象ax1 plot(ax1,t,y_danpin); % 绘制时域图 xlabel(ax1,'t/s'); % 设置x轴标签 ylabel(ax1,'幅度/V'); % 设置y轴标签 title(ax1,'时域波形'); % 设置标题 n = 2^nextpow2(N); % 进行FFT变换时的采样点数,采样点数越大,分辨的频率越精确,N>=L,超出的部分信号补为0 Y = fft(y_danpin,n)/n*2; % 除以N乘以2才是真实幅值,N越大,幅值精度越高 f = fs/n*(0:1:n-1); % 频率序列 P = abs(Y); % 幅值处理 %%%%%%%%%%%绘制频谱图%%%%%%%%%%%% ax2 = nexttile; % 创建坐标区对象ax1 plot(ax2,f(1:n/2),P(1:n/2)); % 函数fft返回值的数据结构具有对称性,因此我们只取前一半 xlabel(ax2,'频率(Hz)'); % 设置x轴标签 ylabel(ax2,'幅值 '); % 设置y轴标签 title(ax2,'频谱'); % 设置标题
2.仿真结果
下面是使用MATLAB对CW信号进行的仿真结果图。
MATLAB仿真——LFM信号(含代码)
我常用的写作开源软件Marktext的介绍、下载、安装与设置