主要内容

傅里叶变换

傅里叶变换是一个数学公式,它将一个信号采样时间和空间相同的信号采样时间或空间频率。在信号处理中,傅里叶变换可以揭示信号的重要特征,即它的频率成分。

傅里叶变换定义为一个向量 x n 均匀采样点的

y k + 1 = j = 0 n - - - - - - 1 ω j k x j + 1

ω = e - - - - - - 2 π / n 是其中一个 n 复根的统一 虚数单位。为 x y 的指标 j k 范围从 0 n - - - - - - 1

fft函数在MATLAB®使用快速傅里叶变换算法来计算数据的傅里叶变换。考虑一个正弦信号x这是一个时间的函数t15赫兹的频率成分和20 Hz。使用矢量采样时间增量的1/50秒的时间10秒。

Ts = 1/50;t = 0: Ts: 10-Ts;x =罪(2 *π* 15 * t) +罪(2 *π* 20 * t);情节(t, x)包含(的时间(秒))ylabel (“振幅”)

图包含一个坐标轴对象。坐标轴对象包含时间(秒),ylabel振幅包含一个类型的对象。

计算信号的傅里叶变换,并创建向量f对应于信号的采样频率空间。

y = fft (x);fs = 1 / Ts;f =(0:长度(y) 1) * fs /长度(y);

当你情节的大小信号作为频率的函数,的大小对应于峰值信号15赫兹和20赫兹的频率成分。

情节(f, abs (y))包含(的频率(赫兹))ylabel (“级”)标题(“级”)

图包含一个坐标轴对象。坐标轴对象级标题,包含频率(赫兹),ylabel级包含一个类型的对象。

转换也产生一个峰值的镜像拷贝,这对应于信号的负频率。为了更好地可视化这个周期性,可以使用fftshift函数,它执行一个zero-centered,圆形转变的变换。

n =长度(x);fshift = (- n / 2: n / 2 - 1) * (fs / n);yshift = fftshift (y);情节(fshift、abs (yshift))包含(的频率(赫兹))ylabel (“级”)

图包含一个坐标轴对象。坐标轴对象包含频率(赫兹),ylabel级包含一个类型的对象。

噪声信号

在科学应用,信号与随机噪声经常损坏,伪装自己的频率成分。傅里叶变换可以处理随机噪声和揭示了频率。例如,创建一个新的信号,xnoise将高斯噪声注入原始信号,x

rng (“默认”)xnoise = x + 2.5 * randn(大小(t));

信号功率作为频率的函数是一种常见的指标用于信号处理。权力是平方级信号的傅里叶变换,归一化频率的数量样品。计算和绘制噪声信号的功率谱集中在零频率。尽管噪音,你仍然可以保留信号的频率的峰值功率。

ynoise = fft (xnoise);ynoiseshift = fftshift (ynoise);功率= abs (ynoiseshift)。^ 2 / n;情节(fshift、电力)标题(“权力”)包含(的频率(赫兹))ylabel (“权力”)

图包含一个坐标轴对象。坐标轴对象与标题,包含频率(赫兹),ylabel力量包含一个类型的对象。

计算效率

使用傅里叶变换公式直接计算的 n 的元素 y 需要的 n 2 浮点操作。快速傅里叶变换算法只需要的 n 日志 n 操作来计算。这个计算效率是一个很大的优势在处理数据时数百万数据点。许多专业的快速傅里叶变换的实现算法时更有效 n 小主要因素,如 n 是2的幂。

考虑音频数据收集从加利福尼亚海岸的水下麦克风。在图书馆可以找到这些数据维护的康奈尔大学生物声学研究计划。负载和格式数据的一个子集bluewhale.au,其中包含一个太平洋蓝鲸发声。因为蓝鲸调用低频声音,他们几乎听不见的人。被压缩的数据的时间范围10倍提高音调和打电话更清晰可闻。您可以使用命令声音(x, fs)听整个音频文件。

whaleFile =“bluewhale.au”;[x, fs] = audioread (whaleFile);whaleMoan = x (2.45 e4:3.10e4);t = 10 * (0:1 / fs: ((whaleMoan) 1)长度/ fs);情节(t, whaleMoan)包含(的时间(秒))ylabel (“振幅”)xlim ([0 t(结束)))

图包含一个坐标轴对象。坐标轴对象包含时间(秒),ylabel振幅包含一个类型的对象。

指定一个新的信号长度,是下一个2的力量大于原来的长度。然后,用fft使用新的信号傅里叶变换计算长度。fft自动垫增加样本容量为0的数据。填充可以变换计算更快,尤其是对样本量大主要因素。

m =长度(whaleMoan);n = pow2 (nextpow2 (m));y = fft (whaleMoan n);

信号的功率谱。情节表明呻吟包括基本频率大约17赫兹和序列的谐波,二次谐波的强调。

f = (0: n - 1) * (fs / n) / 10;%频率向量功率= abs (y)。^ 2 / n;%功率谱情节(f(1:地板(n / 2))、电力(1:地板(n / 2)))包含(的频率(赫兹))ylabel (“权力”)

图包含一个坐标轴对象。坐标轴对象包含频率(赫兹),ylabel力量包含一个类型的对象。

阶段的正弦曲线

使用傅里叶变换,也可以提取原始信号的相位谱。例如,创建一个包含两个正弦信号的频率的信号15赫兹和40 Hz。第一个正弦信号相位的余弦波 - - - - - - π / 4 ,第二个是相位的余弦波 π / 2 。样品在100赫兹的信号1秒。

fs = 100;t = 0:1 / fs: 1 - 1 / f;x = cos(2 *π* 15 * t -π/ 4)- sin(2 *π* 40 * t);

计算信号的傅里叶变换。情节的大小变换作为频率的函数。

y = fft (x);z = fftshift (y);ly =长度(y);f =(以某方式/ 2:ly / 2 - 1) / ly * fs;茎(f, abs (z))包含(“频率(赫兹)”)ylabel (“y | |”网格)

图包含一个坐标轴对象。坐标轴对象包含频率(赫兹),ylabel y | |包含一个类型的对象。

计算转换的阶段,消除较小变换值。绘制阶段作为频率的函数。

托尔= 1 e-6;z (abs (z) < tol) = 0;θ=角(z);茎(f,θ/π)包含(“频率(赫兹)”)ylabel (“阶段/ \π”网格)

图包含一个坐标轴对象。坐标轴对象包含频率(赫兹),ylabel阶段/空白π包含一个干细胞类型的对象。

另请参阅

||||||

相关的话题

外部网站