序列傅里叶变换的性质|时移特性

证明时移不改变幅值只改变相位。(该结论直接证明了音效算法中延时的作用)

matlab仿真

Matlab 复制代码
% 时移特性验证(理论相位与实际相位对比)
clc; clear; close all;

%% 参数设置
N = 64;                 % 信号长度(FFT点数)
n = 0:N-1;              % 时间序列
n0 = 10;                % 时移量
omega = 2*pi*(0:N-1)/N; % 频率轴

%% 原始信号:正弦波加噪声作为示例
x = cos(2*pi*0.1*n) + 0.5*sin(2*pi*0.3*n); % 原始信号
x_shifted = circshift(x, [0, n0]);         % 循环时移后的信号

%% 计算傅里叶变换
X = fft(x, N);              % 原始信号的FFT
X_shifted = fft(x_shifted); % 时移后信号的FFT

%% 幅值和相位计算
magnitude_X = abs(X);                      % 原始信号幅值
magnitude_X_shifted = abs(X_shifted);      % 时移后信号幅值
phase_X = angle(X);                        % 原始信号相位
phase_X_shifted = angle(X_shifted);        % 时移后信号相位

%% 理论相位偏移
phase_theory = -omega * n0;                % 理论线性相位偏移

%% 实际相位差计算并归一化到 [-pi, pi]
phase_diff_actual = phase_X_shifted - phase_X; % 实际相位差
phase_diff_actual = mod(phase_diff_actual + pi, 2*pi) - pi;

% 理论相位偏移归一化
phase_theory = mod(phase_theory + pi, 2*pi) - pi;

%% 绘图结果
figure;

% 幅值比较
subplot(3,1,1);
plot(omega, magnitude_X, 'b', 'LineWidth', 1.5); hold on;
plot(omega, magnitude_X_shifted, 'r--', 'LineWidth', 1.5);
title('时移前后信号的幅值');
xlabel('频率 \omega (rad/sample)');
ylabel('幅值');
legend('原始信号', '时移后信号');
grid on;

% 相位比较
subplot(3,1,2);
plot(omega, phase_X, 'b', 'LineWidth', 1.5); hold on;
plot(omega, phase_X_shifted, 'r--', 'LineWidth', 1.5);
title('时移前后信号的相位');
xlabel('频率 \omega (rad/sample)');
ylabel('相位 (rad)');
legend('原始信号相位', '时移后信号相位');
grid on;

% 理论与实际相位差比较
subplot(3,1,3);
plot(omega, phase_theory, 'k:', 'LineWidth', 1.5); hold on;
plot(omega, phase_diff_actual, 'r-', 'LineWidth', 1.5);
title('理论与实际相位差');
xlabel('频率 \omega (rad/sample)');
ylabel('相位差 (rad)');
legend('理论相位差', '实际相位差');
grid on;

%% 控制台输出结果
disp('频率、理论相位差与实际相位差比较:');
fprintf('%8s %15s %20s\n', '频率', '理论相位差(rad)', '实际相位差(rad)');
for k = 1:N
    fprintf('%8.3f %15.4f %20.4f\n', omega(k), phase_theory(k), phase_diff_actual(k));
end

仿真结果

结论:时移不改变幅值只改变相位

相关推荐
156082072191 天前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
联丰迅声2 天前
城市生命线的“听觉”缺口:声振感知如何补上监测闭环
信号处理·故障诊断·传感器·城市生命线
花月mmc2 天前
FPGA数字信号处理与深度学习
嵌入式硬件·深度学习·fpga开发·信号处理
进击的荆棘4 天前
Linux系统——进程信号之保存和捕捉信号
linux·运维·服务器·信号处理·信号
阿尔泰科技官方6 天前
多机箱异地采集—如何实现数据对齐?阿尔泰科技授时同步实战方案!
科技·数据采集·信号处理·工业自动化·仪器仪表·工控机·机箱
DogDaoDao6 天前
数字信号处理:数字域(时域)与频域的关系与作用——从傅里叶变换到 FFT 的完整推演
数字信号处理·1024程序员节·傅里叶变换·卷积·dct变换·时域·频域
这张生成的图像能检测吗7 天前
(论文速读)ClassBD:让盲反卷积与故障分类器协同学习的抗噪轴承诊断方法
分类·信号处理·故障诊断·去噪
DogDaoDao8 天前
声音、图像、视频是如何形成的:从物理量到比特流的完整链条
图像处理·数学·音视频·音频·数字信号处理·视频处理·音视频编解码
福芯微电子有限公司nfc11 天前
国产收音芯片 FSV4755:多波段调谐与高集成设计,赋能多种音频终端
网络协议·网络安全·音视频·信息与通信·信号处理
搞科研的小刘选手11 天前
【见刊检索快 | 重庆线上线下同步】第五届信号处理、计算机网络与通信国际学术会议(SPCNC 2026)
计算机网络·信号处理·通信·学术会议·会议推荐·重庆