如何画离散信号频谱图

本文介绍了如何根据离散信号的样点值和采样频率来绘制幅频曲线。通过使用FFT(快速傅里叶变换)和fftshift函数,可以得到幅频响应在(-Fs/2,Fs/2)范围内的曲线。以2048点的OFDM数据为例,展示了当采样频率Fs为12.8MHz时,信号带宽为9.6MHz的幅频响应图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:对于离散信号而言,已知样点值、采样频率,如何画出与采样频率对应的幅频曲线?

已知样点数为N,采样频率为Fs,数据记为data。则,可画出两种幅频响应:

 % 第一种,幅频响应频率范围为(0-Fs)
 Data_f = fft(data);   % 频域信号
abs_Data_f = abs(Data_f);
 % 第二种,幅频响应频率范围为(-Fs/2,Fs/2)
Datao_f_shift = fftshift(fft(data));
abs1_Data_f = abs(Datao_f_shift);

即,若希望幅频响应横坐标为(-Fs/2,Fs/2),则,要在对数据求fft后用fftshift函数。

N = 2048;
x = (0:N-1)/N*Fs;   % 第一种图的横坐标
x1 = (-N/2:N/2-1)/N*Fs;     % 第二种图的横坐标
subplot(2,1,1)
plot(x,abs_Data_f,'linewidth',2);title('未用fftshift')
subplot(2,1,2)
plot(x1,abs1_Data_f,'linewidth',2);title('用了fftshift')

设置Fs为12.8MHZ,作图如下:
在这里插入图片描述
注:上图画的是,FFT点数(子载波数目)为2048的OFDM数据,其中,虚拟子载波个数为512。Fs=12.8MHZ,可以看出,信号带宽为12.8*(3/4)=9.6MHZ。

参考链接:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值