信号处理
文章平均质量分 74
信号处理
ZEERO~
路漫漫其修远兮,吾将上下而求索
展开
-
为何经典滤波时需要添加汉明,汉宁等窗才可进行?
首先,我们知道,滤波方法可分为经典滤波和现代滤波。经典滤波包括低通、带通、高通滤波等。现代滤波则包括维纳滤波、kalman滤波、sg滤波等。原创 2024-08-17 11:35:45 · 115 阅读 · 0 评论 -
SG滤波总结
SG滤波器是一种在时域内基于多项式最小二乘法拟合的滤波方法,这种滤波器的最大特点在于可用说在滤除噪声的同时保持信号的形状、宽度不变。上述介绍随便一搜就能搜出来。下面上点干货。原创 2024-08-17 11:18:53 · 260 阅读 · 0 评论 -
9个例子看懂kalman滤波5大方程
kalman滤波算法是一个在存在不确定性的情况下对系统状态进行估计和预测的强大工具,被广泛应用在诸如目标跟踪、导航和控制等应用场景中。原创 2024-02-21 20:49:42 · 1254 阅读 · 0 评论 -
中值滤波、低通与高通滤波
首先给出结论,中值滤波,例如说设置窗长为5个点的均值滤波,属于低通滤波。这点很容易理解,假设窗长为无限长,原始信号就变为了直流分量,频率为0。因此,均值滤波属于低通滤波,中值滤波也是一样的道理。原创 2022-09-19 20:09:10 · 5176 阅读 · 1 评论 -
通俗理解时域采样与频域延拓
讲连续信号xa(t)x_{a}(t)xa(t)与冲激串信号ps(t)p_{s}(t)ps(t)相乘,即可得到离散时间信号x(n)x(n)x(n),因此,有如下公式:x(n)=xa(t)∣t=nTs=xa(t)ps(t)=xa(t)∑n=−∞∞δ(t−nTs)x(n)=x_{a}(t) |_{t=nT_{s}}=x_{a}(t)p_{s}(t)=x_{a}(t)\sum_{n=-\infty}^{\infty}\delta(t-nT_{s})x(n)=xa(t)∣t=nTs=xa(t)ps原创 2022-05-21 21:29:34 · 4591 阅读 · 1 评论 -
数字频率、模拟频率、角频率的区别
背景我们都知道,正弦信号和复指数信号是信号处理中非常重要的2大工具。正弦序列定义为:x(n)=Acos(wn+φ)x(n)=Acos(wn+\varphi)x(n)=Acos(wn+φ)其中,A是幅度,w是数字频率,φ\varphiφ为初始相位。复指数序列定义为x(n)=Ae(α+jw)nx(n)=Ae^{(\alpha+jw)n}x(n)=Ae(α+jw)n其中,A为幅度,w为数字频率。理解设有一个正弦波$$$$...原创 2022-05-11 23:37:24 · 3084 阅读 · 0 评论 -
经典滤波器的设计原理
1、滤波器基础知识总的来说,滤波器可分为经典滤波器和现代滤波器两大类。经典滤波器是假定输入信号x(n)中的有用成分和希望去除的成分各自占有不同的频带。这样,当x(n)通过一个线性系统(滤波器)之后可以将欲去除的成分有效去除。如果信号和噪声的频谱相互重叠,那么经典滤波器将无能为力。现代滤波器的主要内容是从含有噪声的数据记录中估计出信号的某些特征或信号本身。一旦信号被估计出,那么利用它们的统计特征,如自相关函数、功率谱等,导出一套最佳的估值算法,所得到的估计信号的信噪比会比原信号更高。典型的现代滤波器是维纳原创 2022-05-10 23:30:05 · 11993 阅读 · 0 评论 -
自己动手实现fft.m函数
背景自己动手使用matlab实现fft.m函数知识回顾1、四种形式的Fourier变换首先,我们需要系统回忆一下4种形式的Fourier变换1、时域连续,周期信号x(t)=∑k=−∞∞X(kΩ0)ejkΩ0tx(t)=\sum_{k=-\infty}^{\infty}X(k\Omega_{0})e^{jk\Omega_{0}t}x(t)=k=−∞∑∞X(kΩ0)ejkΩ0tX(kΩ0)=1T∫Tx(t)e−jkΩ0tdtX(k\Omega_{0})=\frac{1}{T}\int_原创 2022-05-08 16:52:56 · 1587 阅读 · 0 评论 -
Matlab中filter.m和filtfilt.m函数C语言实现
一些基础知识filter.m函数实现static void filter(const float* b, const float* a, const float*zi, const float* signal, const int signal_len, float* filter_result){ int i = 0; int j = 0; float state_signal[FILTER_LEN + 1] = { 0 }; float state_result[F原创 2022-04-05 17:02:33 · 4825 阅读 · 10 评论 -
连续时间傅里叶变换
讲述之前,我们先回顾一下什么是傅里叶级数。傅里叶级数综合方程:合成方程:x(t)=∑k=−∞+∞akejkw0tx(t)=\sum_{k=-\infty}^{+\infty} a_{k}e^{jkw_{0}t}x(t)=k=−∞∑+∞akejkw0t分析方程:ak=1T0∫T0x(t)e−jkw0tdta_{k}=\frac{1}{T_{0}}\int _{T_{0}}x(t)e^{-jkw_{0}t}dtak=T01∫T0x(t)e−jkw0tdt一个周期信号可以分解原创 2021-11-06 16:07:48 · 1397 阅读 · 0 评论 -
连续时间傅里叶变换
与卷积不同的是,我们考虑将信号分解为复指数的线性组合。ϕk(t)=eskt,sk为复数\phi _{k}(t)=e^{s_{k}t} , sk为复数ϕk(t)=eskt,sk为复数ϕk[n]=zkn,zk为复数\phi _{k}[n]=z_{k}^{n}, zk为复数ϕk[n]=zkn,zk为复数我们选择的输入,也就是基本构建模块,必须满足两个属性。一是系统响应可直接计算,或在某种程度上便于计算。第二是这种模块非常普遍,这样就可以用他们来构建很多种信号。复指数信号模块刚好满足这两种形原创 2021-11-06 10:28:12 · 1363 阅读 · 0 评论 -
卷积前世今生
前言为了描述线性时不变系统(Linear Time Invariant),一般来说有两种方法,第一种是将输入信号分解为一组延时脉冲的线性组合,从而得到LTI系统的表达式,这种方式一般称为卷积。第二种是将输入分解为复指数,得到复指数的线性组合,通过傅里叶分析来表示LTI系统。1.离散时间系统1.1 如何用脉冲表示离散时间信号...原创 2021-09-18 23:03:25 · 450 阅读 · 0 评论 -
数字信号处理入门知识及matlab实现
1.fftFs = 1000; % Sampling frequency T = 1/Fs; % Sampling period L = 1500; % Length of signalt = (0:L-1)*T; % Time vector 实际时间S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); %构造一个包含幅值为0.7的50原创 2021-09-12 22:18:38 · 2688 阅读 · 0 评论 -
matlab实现低通、高通、带通、带阻滤波
带通滤波例1对信号data实现20-350Hz的带通滤波,信号data的采样频率为Fs,代码如下:fp1=[50,300];fs1=[20, 350];Fs2=Fs/2;Wp=fp1/Fs2; Ws=fs1/Fs2;Rp=1; Rs=30;[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs);[b1,a1]=cheby2(n,Rs,Wn);y=filter(b1,a1,data);%经过filter滤波之后得到的数据y则是经过带通滤波后的信号数据带阻滤波例2对信号data实现5原创 2021-07-11 10:30:38 · 53978 阅读 · 14 评论