一、模拟频率和数字频率间关系
以MATLAB参考代码为例:
% test with Matlab 2007
close all; clear;
fig_fname = 'sine_1_tone.jpg';
fs = 8E3; % 采样率
N = 32; % 向量长度
% 信号频率、幅度、初相位
f1 = 1000; Amp1 = 1; phy1 = 0;
f2 = 7000; Amp2 = 1; phy2 = 0;
% 原信号
x1 = Amp1*sin(2*pi*f1*t + phy1);
x2 = Amp2*sin(2*pi*f2*t + phy2);
% 信号向量的下标索引
n_idx = [0:N-1];
% 生成信号采样序列向量
x1 = Amp1*sin(2*pi*f1/fs*n_idx + phy1);
x2 = Amp2*sin(2*pi*f2/fs*n_idx + phy2);
可以看到 f1、f2 为信号原模拟频率。
f 的物理含义:在周期T内上下振动的次数,
模拟频率中还有一个概念是模拟角频率,数学符号常用Ω来表示,其单位为弧度/秒(rad/s)。
Ω=2pi*f(rad/s)
T=2pi / Ω,,, f=1 / T
数字频率w:单位是rad。学习数字信号处理的要明白,数字频率实际上是和采样周期Ts联系在一起的,离开采样周期Ts或者采样频率Fs = 1/Ts单独谈数字频率w是没有实际价值的,因为此时它没有任何物理意义,
数字频率w是从单位圆上的N点等间隔采样而来的,这个N不是别的就是数字周期,先给出数字频率w和数字周期N之间的关系:N=(2*pi/w)*k当信号是 以N为周期的时候,要求(2*pi/w)是个有理数,w=2*pi*k/N,可见w的物理含义是相邻的两个采样点之间的弧度,w = ΩT = Ω/Fs 是用Fs归一化后的频率。
数字周期N,N有两种含义:
①f(n) = f(n+N)
② 周期信号 f(n)的一个周期内有0~N-1共N个采样点。 cos(2pi*f*t) = cos(Ω *t) = cos(Ω*n*Ts) = cos(Ω*Ts*n) = cos(w*n)
数字信号大多是从模拟信号采样而得,采样频率通常用fs表示。fs必须≥信号最高频率的2倍才不会发生信号混叠,因此fs能采样到的信号最高频率为fs/2。数字频率更准确的叫法应该是归一化数字角频率,其单位为弧度(rad),数学符号常用ω表示。即:
ω=2pi*f/fs(rad)
其物理意义是相邻两个采样点之间所变化的弧度数,
归一化频率是将物理频率按fs归一化之后的结果,最高的信号频率为fs/2对应归一化频率0.5,这也就是为什么在matlab的fdtool工具中归一化频率为什么最大只到0.5的原因。
f = w*Fs/(2*pi); % 信号的真实频率f
频率(f) | 对应关系 |
---|---|
归一化频率: | -1 ———- -1/2 ———- 0 ———- 1/2 ———– 1 |
频率f: | -Fs ——— -Fs/2 ——– 0 ———- Fs/2 ———Fs |
模拟角频率Ω: | -Ωs ——— -Ωs/2 —— 0 ———– Ωs/2 ——– Ωs |
数值频率w: | -2*pi ——— -pi ——— 0 ———- pi ————- 2*pi |
二、带通采样
三、抽取和插值
书上是这么说的:
减少抽样率以去掉过多的数据的过程,称为信号的抽取(decimatim);
增加抽样率以增加数据的过程,称为信号的插值(interpolation);
抽取、插值的使用可以实现信号抽样率的转换。
抽取,可以在传输的过程中减少传输的数据量,接收端进行恢复时进行插值,将信号恢复成原始抽样率的信号。在数字信号处理中只需要改变数字采样率,一般是先进行插值再进行抽取,以免造成频率混叠,同时在抽取的前先进行预滤波,在插值后进行以去镜像滤波。
抽取:时域上
周期为 T 的 X(N) ,令 N=Mn , 每M个点抽取一个。周期延拓为MT
抽取:频域上
抽取后对信号的影响: