当前位置:网站首页>Matlab 信号处理
Matlab 信号处理
2022-07-28 05:24:00 【我有两颗糖】
最近需要用到 Matlab 仿真雷达成像
对于一些函数的细节还是有挺多地方需要注意的 ️
首先,有问题可以之间参考 官方文档
1. FFT
需要理解以下几个问题:
Q:为什么需要使用 fftshift
Q:fft 返回的序列的每个分量分别代表什么频率(数字频率和物理频率的联系)
笔记贴图(不想打字) ️ ️ (对了,这个是官方给的例子) ️ ️



问题答案(个人理解)
A:卷积具有周期性,平移后能够更直观的显示频谱
A:序列长度为 N N N,fft 输出序列长度也是 N N N,则 fft 的第 k 个分量对应的数字频率为 2 π N k \frac{2 \pi}{N} k N2πk,对应物理频率为 k N × F s \frac{k}{N} \times F_s Nk×Fs,因此 fft 的频率分辨率为 F s N \frac{F_s}{N} NFs,序列越长,频率分辨率越高,频谱越精细。
遗留问题
x2 = linspace(1, 3, 3);
fft(x2)
fft(x2, 6)
fft(x2, 6) 的输出是否等价于 fft(x2) + 插值
2. 卷积
2.1 时域计算卷积
卷积表达式:
g ( n ) = x ( n ) ∗ y ( n ) = ∑ n = − ∞ + ∞ x ( m ) × y ( n − m ) g(n) = x(n)*y(n) = \sum_{n=-\infin}^{+\infin} {x(m)\times y(n-m)} g(n)=x(n)∗y(n)=n=−∞∑+∞x(m)×y(n−m)
可以使用 conv 计算卷积:
clc
x1 = linspace(1, 4, 4);
x2 = linspace(1, 3, 3);
y1 = conv(x1, x2)
% 1 4 10 16 17 12
2.2 频域计算卷积
N = length(x1) + length(x2) - 1;
Nfft = 2^nextpow2(N);
y2 = ifft(fft(x1, Nfft).*fft(x2, Nfft))
% 1.0000 4.0000 10.0000 16.0000 17.0000 12.0000 0 -0.0000
两种方法输出一样,只是后者尾部多了零(原因还未弄清楚,学完 DSP 补上)
3. 频域相关运算
相关运算
r x y ( m ) = ∑ n = − ∞ + ∞ x ∗ ( n ) × y ( n + m ) r_{xy}(m) = \sum_{n=-\infin}^{+\infin} {x^*(n)\times y(n+m)} rxy(m)=n=−∞∑+∞x∗(n)×y(n+m)
对序列做相关运算可以之间调用 xcorr 函数
x1 = linspace(1, 12, 12);
x2 = linspace(1, 8, 8);
y1 = xcorr(x1, x2)
也可以使用卷积计算互相关函数:
r x y ( m ) = x ∗ ( − m ) ∗ y ( m ) r_{xy}(m) = x^*(-m)*y(m) rxy(m)=x∗(−m)∗y(m)
也可以在频域做相关运算
r x y ( m ) = f − 1 ( f ( x 1 ) × f ∗ ( x 2 ) ) r_{xy}(m) =f^{-1}(f(x_1) \times f^{*}(x_2)) rxy(m)=f−1(f(x1)×f∗(x2))
matlab 程序
x1 = linspace(1, 12, 12);
x2 = linspace(1, 8, 8);
y1 = xcorr(x1, x2)
N = length(x1) + length(x2) - 1;
Nfft = 2^nextpow2(N);
cor = fftshift(ifft(fft(x1, Nfft).*conj(fft(x2, Nfft))));
range = Nfft/2+1 - (N-1)/2 : Nfft/2+1 + (N-1)/2;
y2 = cor(range)
注意,下面两种写法不等价:
cor_xy = fftshift(ifft(fft(X).*conj(fft(Y))))
cor_yx = fftshift(ifft(fft(Y).*conj(fft(X))))
边栏推荐
- Convert data in grilview into datatable
- PyTorch 学习笔记 4 —— 自动计算梯度下降 AUTOGRAD
- An example of bill printing
- 短跳线DSX-8000测试正常,但是DSX-5000测试无长度显示?
- (PHP graduation project) obtained based on PHP novel website management system
- Reading experience of protecting against DNN model steaming attacks
- 确保PoE设备成功部署的最佳实践
- 详解爬电距离和电气间隙
- (PHP graduation project) obtained based on thinkphp5 campus news release management system
- EfficientNET_V1
猜你喜欢
随机推荐
1、 Amd - openvino environment configuration
Perl入门学习(九)引用
A comparative study of backdoor attack and counter sample attack
TVs tube parameters and selection
AEM-TESTpro K50和南粤勘察结下的缘分
(PHP graduation project) based on PHP Gansu tourism website management system to obtain
Bag of Tricks训练卷积网络的技巧
电快速脉冲群(EFT)设计-EMC系列 硬件设计笔记4
Electric fast burst (EFT) design - EMC series hardware design notes 4
(PHP graduation project) based on thinkphp5 community property management system
线缆测试中遇到苦恼---某厂商案例分析?
Efficient Net_ V2
一个票据打印实例
开关电源电路EMI设计在layout过程中注意事项
Reversible digital watermarking method based on histogram modification
4、 Model optimizer and inference engine
雷达成像 Matlab 仿真 3 —— 多目标检测
CLIP Learning Transferable Visual Models From Natural Language Supervision
ICC2(四)Routing and Postroute Optimization
ConNeXt









