Skip to content

数字信号处理

傅里叶变换

前置知识

公式一:计算原向量投影后的坐标

[xpypzp]=[xpypzp][ijk]

即:

(1)ujT=uiTvij

ui表示在向量u在i坐标系下的坐标。
vi,j,kjki

\begin{bmatrix} \end

公式二:用新的基函数和坐标复原原向量

[xpypzp]=[ijk][xpypzp]

即:

(2)ui=vijuj

空间坐标变换总结

  1. 坐标系中的基向量,由两两正交(内积为零)且长度为1的n(n为空间维度)个向量组成。
  2. 坐标系中任意一个向量可表示为基向量的线性组合,其系数即为坐标。
  3. 向量丛一个坐标系变换到另一个坐标系,需要求向量在新坐标系的每个基向量的投影。

向量的内积(投影)

其他补充文章:👉️向量的内积外积与其几何意义👈️ 假设有一个k维的向量u,这个k维向量在某个基向量vi上的投影为:

(3)u(vi)=u1vi1+u2vi2++ukvik=n=1kunvin

一般来说u1u2=|a||b|cosθ有因为vi为基向量,故有(3)式成立

那么如果把向量的维度看作成数组,就可以计算两数组之间的内积。
如果把数组中n的间隔逐渐变得密集,就可以看作成函数,从而计算两函数之间的内积。
alt text

函数内积(两个无穷维向量的投影)

参考链接:

(4)<f(x),g(x)>=+f(x)g(x)dx

将(4)式理解成对应点的值相乘再求和的极限形式

<f(x),g(x)>≈f(1)g(1)+f(2)g(2)++f(n)g(n)+<f(x),g(x)>≈0.01(f(0.01)g(0.01)+f(0.02)g(0.02)++f(0.01n)g(0.01n)+

当取值密度趋向于无穷大时,得到(4)式积分形态

积分变换

第一章 绪论

四种信号类型

  1. 连续时间信号 xa(t)
  2. 离散时间信号 x(nT)
  3. 模拟信号 xa(t)
  4. 数字信号 x(n)
信号类型时间幅度
连续时间信号连续可连续、可离散
离散时间信号离散可连续、可离散
模拟信号连续连续
数字信号离散离散

三种频率的关系

  1. 模拟频率f
  2. 模拟角频率Ω
  3. 数字频率ω
  1. 模拟信号$x_a(t) = Acos(2\pi ft+\phi) $
  2. 模拟频率f
  3. 模拟角频率Ω
  4. 数字信号x(n)=Acos(ωn+ϕ)
  5. 数字频率ω
  6. 采样周期T <==> 采样率fs=1/T

数字频率ω、模拟角频率ω和模拟频率f的关系为

(1)ω=ΩT=Ωfs=2πffs

第二章 离散时间信号与系统

奈奎斯特采样定理

xa(t)是带限信号,要想采样后的信号能够不失真地还原出原信号,则采样频率必须大于信号最高频率分量的两倍。
条件:

  1. 带宽有限
  2. 理想采样
  3. Ωs>2Ωh

tip: 采样频率Ωs, 信号最高频率Ωh


这是一个分割线~


例题:f(t)的最高频率为8kHz,则对3f(t)f(t)2f(t)f(t)分别进行采样时需要的最低采样频率为?

3f(t)3F(jΩ)Ωc=2π8kHzΩs=22π8kHz

解得:fs=16kHz

f(t)2=f(t)f(t)12πF(jΩ)F(jΩ)Ωc=Ωc+ΩcΩc=22π28kHe

解得:fs=32kHz

f(x)f(x)F(jΩ)F(jΩ)Ωc=ΩcΩc=22π8kH2

解得:fs=16kHz


这是一个分割线~


结论: a(t)+b(t)A(jΩ)+B(jΩ)max(Ωa,Ωb)
a(t)×b(t)A(jΩ)B(jΩ)Ωa+Ωb
a(t)b(t)A(jΩ)B(jΩ)min(Ωa,Ωb)

实际采样与理想采样的异同

本质不同 ==> 采样序列不同:采样序列由单位冲激串变为矩形脉冲串
相同点:周期延拓仍为Ωs
不同点:幅度加权因子由1T ==> τTSa(nΩτ2)

插值重构

理想低通滤波器的截止频率满足: Ωh<Ωc<ΩsΩh
tip: 采样频率Ωs, 信号最高频率Ωh

典型序列

1.矩形序列

RN(n)={1,0nN10,其他n

alt text

2.实指数序列

x(n)=anu(n)

alt text

3.复指数序列

x(n)=e(σ+jω0)n

4.正弦型序列

x(n)=Asin(ω0n+φ)

alt text

序列的周期性

定义:如果对于所有的n,存在一个最小的正整数N (N2) ,下列等式成立

x(n)=x(n+N)

则称序列x(n)为周期序列,其周期为N。


这是一个分割线~


例题:计算x(n)=sin2π3ncos4π5n的周期 法1: 积化和差分解成相加形式:

(1)x(n)=12[sin(2π3+4π5)nsin(4π52π3)n]=12sin(2215πn)12sin(215πn)

找最小公倍数,对第一个sin有:

(2){2215πN=2kπk是整数N=1511kN为整数(3)k=11N=15

对第二个sin有:

(4){215πN=2kπ.N=15k(5)k=1N=15

解得:周期为15

序列运算

卷积:
1.有限长序列:
使用冲激法计算卷积
写了一个简陋的冲激法实现,仅供理解

C++
#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std;

const int N = 100010;

int a[N], b[N];
int n, m;
int ans[N];

int main()
{
	cin >> n;
	for(int i = 0; i < n; i ++) cin >> a[i];
	cin >> m; 
	for(int i = 0; i < m; i ++) cin >> b[i];
	for(int i = 0; i < n; i ++)
	{
		for(int j = 0; j < m; j ++)
		{
			ans[i + j] += a[i] * b[j];
			cout << a[i] * b[j] << ' ';
		} 
		cout << endl;
	}
	for(int i = 0; i < n + m - 1; i ++) cout << ans[i] << ' ';
	return 0; 
}
//目的:计算{1, 1, 2}0 * {1, 2, 3, 4}0
//输入
//3
//1 1 2
//4
//1 2 3 4
//结果
//1 2 3 4
//  1 2 3 4
//    2 4 6 8
//1 3 7 11 10 8

系统性质

  1. 线性:输入为线性组合 ==> 输出同线性组合
T[ax1(n)+bx2(n)]=ay2(n)+by2(n)
  1. 时不变:输入时延 ==> 输出同时延
T[x(nn0)]=y(nn0)
  1. 因果 常用判定:系统输出仅与当前或过去值有关
    LTI独有判定:满足h(n),n<0H(z) 收敛域向外的,包括 则是因果系统
  2. 稳定 常用判定:有限输入 ==> 有限输出
    LTI独有判定:满足|h(n)|有限 或H(z) 收敛域包含单位圆 则是稳定系统

Tips: T[x1(nn0)] 就是将所有的x(n)变为x(nn0)
y(nn0) 就是将所有的n 变为 nn0

LTI(Linear Time-invarient)系统 线性时不变系统
性质:
存在冲激响应h(n),系统函数H(z)

y(n)=T[x(n)]=h(n)x(n)

输入为δ(n)冲激序列时,输出为h(n)冲激响应

DTFT

1.定义:
正变换:

X(ejw)=n=+x(n)ejwn

反变换:

X(n)=12πππX(ejw)ejwndw

alt textalt text

Z变换

1.定义:
正变换:

H(z)=n=+h(n)znz

收敛域:|z|<>

alt textalt text

第三章 离散傅里叶变换

DFS

正变换:

X~(k)=DFS[x~(n)]=n=0N1x~(n)ej2πNkn

反变换:

x~(n)=IDFS[X~(k)]=1Nk=0N1X~(k)ej2πNkn

DFT

正变换:

X(k)=DFT[x(n)]=n=0N1x(n)ej2πNkn

反变换:

x(n)=IDFT[X(k)]=1Nk=0N1X(k)ej2πNkn

圆周卷积

N点圆周卷积:

y(n)=x1(n)\textcircledLx2(n)

计算方法:
1.先算线性卷积 2.再剪断,补充相加 alt text

第四章 DFT应用

重叠相加法与重叠保留法

直接上例题:
序列x(n)={1,2,3,4,5,6,7,8,9,10}0,h(n)={1,2,-1}0,请利用重叠相加法计算x(n)和h(n)的线性卷积结果。

x(n)长度为10,h(n)长度为3,可把x(n)按照N=4进行分段,

{x0(n)={1,2,3,4}0x1(n)={5,6,7,8}4x2(n)={9,10,0,0}8

计算各段线性卷积结果,

{y0(n)={1,4,6,8,5,4}0y1(n)={5,16,14,16,9,8}4y2(n)={9,28,11,10,0,0}8

alt text


这是一个分割线~


请利用重叠保留法重新计算。

x(n)按照N=6进行分段,前后数据段重叠长度为M1=2,并且在第1段数据前补2个零值,

{x0(n)={0,0,1,2,3,4}2x1(n)={3,4,5,6,7,8}2x2(n)={7,8,9,10,0,0}6

计算各段圆周卷积结果

{y0(n)={5,4,1,4,6,8}2y1(n)={12,2,10,12,14,16}2y2(n)={7,22,18,20,11,10}6

alt text

第五章 FFT

DIT-FFT

alt text

DIF-FFT

alt text

第六章 IIR数字滤波器的设计

alt text

脉冲响应不变法求解系统函数

两个重要结论:

(1)Ha(s)=As+s0H(z)=AT1es0Tz1(2)Ha(s)=A(s+s0)nH(z)=ATnss0Tz1(1es0Tz1)n(n>=2)

双线性变换法求解系统函数

记住变换公式即可:

(3)H(z)=Ha(s)|s=T21z11+z1

第七章 FIR数字滤波器的设计

线性相位

第一类线性相位: θ(ω)=τω
第二类线性相位: θ(ω)=τω+β

四类线性相位FIR数字滤波器特点

alt text

滤波器类型、幅度函数和相位函数

alt textalt text

类型h(n)N低通高通带通带阻
第1类
第2类××
第3类×××
第4类××

窗函数设计法

  1. 根据具体需求,确定FIR数字滤波器技术指标;
  2. 根据阻带最小衰减,确定窗函数类型;
  3. 根据过渡带宽,确定窗函数长度;
  4. 确定窗函数w(n)和理想滤波器hideal(n)
  5. 计算实际滤波器单位脉冲响应h(n)=hideal(n)·w(n);
  6. 验证实际滤波器是否满足设计指标。 alt textalt text

频率采样设计法

1:对理想滤波器的频率响应等间隔采样,

Hideal(k)=Hideal(ejω)|ω=2πNk

2:将采样值作为实际FIR滤波器频率响应样本值。

Hideal(k)=H(k)=H(ejω)|ω=2πNk

3:对H(k)进行IDFT,将得到的N点h(n)作为实际FIR滤波 器的单位脉冲响应,

h(n)=IDFT[H(k)]=1Nk=0N1H(k)ej2πNnk

alt text

Last updated:

本站总访问量