信号的频谱搬移
文章目录
- 【1.傅里叶变换的频移性质】
- 【2.代码】
【1.傅里叶变换的频移性质】
时域连续时间信号: e ± j Ω 0 t f ( t ) = e ± j 2 π f 0 t f ( t ) ⇔ X ( f ∓ f 0 ) 时域连续时间信号:e^{±jΩ_0t }f(t)=e^{±j2\pi f_0t }f(t) \Leftrightarrow X(f∓f_0) 时域连续时间信号:e±jΩ0tf(t)=e±j2πf0tf(t)⇔X(f∓f0)
数字域离散时间信号: e ± j w 0 n f ( n ) = e ± j 2 π f 0 f s n f ( n ) ⇔ X ( f ∓ f 0 ) 数字域离散时间信号:e^{±jw_0n }f(n)=e^{±j2\pi \frac{f_0}{f_s}n }f(n) \Leftrightarrow X(f∓f_0) 数字域离散时间信号:e±jw0nf(n)=e±j2πfsf0nf(n)⇔X(f∓f0)
其中, f f f 为信号实际频率(单位为 赫兹 Hz), Ω = 2 π f Ω=2\pi f Ω=2πf 为模拟角频率(单位为 赫兹 Hz), w = 2 π f 0 f s w=2\pi \frac{f_0}{f_s} w=2πfsf0 为数字角频率(单位为 弧度/样值rad/sample)。从时域到数字域式子的改变是由于采样的原因即 t = n × t s = n f s t=n\times t_s=\frac{n}{f_s} t=n×ts=fsn,有关数字角频率和模拟角频率的详情请转到博主的这篇文章:数字角频率w、模拟角频率Ω 。
- 将一个时域连续信号乘以复指数信号 e j 2 π f 0 t e^{j2\pi f_0 t} ej2πf0t,可以使频谱向上搬移 f 0 f_0 f0 Hz,频谱从 X ( f ) X(f) X(f) 变为 X ( f − f 0 ) X(f-f_0) X(f−f0),该过程被称为 上变频;
类似的,将一个时域信号乘以复指数信号 e − j 2 π f 0 t e^{-j2\pi f_0 t} e−j2πf0t,可以将其频谱向下搬移 f 0 f_0 f0 Hz,频谱从 X ( f ) X(f) X(f) 变为 X ( f + f 0 ) X(f+f_0) X(f+f0),该过程被称为 下变频。
上变频和下变频又统称为 正交混频。 - 将一个数字域离散信号乘以复指数信号 e j 2 π f 0 f s n e^{j2\pi \frac{f_0}{f_s}n } ej2πfsf0n,可以使频谱向上搬移 f 0 f_0 f0 Hz,频谱从 X ( f ) X(f) X(f) 变为 X ( f − f 0 ) X(f-f_0) X(f−f0);
类似的,将一个数字域离散信号乘以复指数信号 e − j 2 π f 0 f s n e^{-j2\pi \frac{f_0}{f_s}n } e−j2πfsf0n,可以将其频谱向下搬移 f 0 f_0 f0 Hz,频谱从 X ( f ) X(f) X(f) 变为 X ( f + f 0 ) X(f+f_0) X(f+f0)。
【2.代码】
%%%% 实现频谱向上搬移200Hz
%% [预处理]
clc; %清除命令窗口
clear; %清除工作空间的变量和函数
clf; %清除图形%% [采样参数]
fs=4096; %采样频率 (Hz)
ts=1/fs; %采样周期 (s)
N=5000; %采样点数 (个)
n=0:N-1; %采样点索引
t=n*ts; %采样时间轴%% [被采信号]
fa=100; %信号a的频率
fb=900; %信号b的频率
xn=2.5+sin(2*pi*fa*t)+3*sin(2*pi*fb*t); %被采信号=信号a+信号b%% [原信号的频谱]
M=4096; %FFT运算点数
X=fft(xn,M); %FFT输出值
k=0:M-1; %频率点索引
f=fs*k/(M-1); %频率轴subplot(1,2,1);
stem(f,abs(X)); %序列图
xlabel('频率'); %横轴坐标
ylabel('幅度'); %纵轴坐标
title("原信号的频谱");
grid; %显示表格线%% [频移后的频谱]
xn_shift=xn.*exp(1i*2*pi*200/4096.*n);M=4096; %FFT运算点数
X_shiift=fft(xn_shift,M); %FFT输出值
k=0:M-1; %频率点索引
f=fs*k/(M-1); %频率轴%% [作图]
subplot(1,2,2);
stem(f,abs(X_shiift)); %序列图
xlabel('频率'); %横轴坐标
ylabel('幅度'); %纵轴坐标
title('频移后的频谱');
grid; %显示表格线
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!