热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

数字滤波器的MATLAB与FPGA实现之读书笔记(四变换域滤波器的FPGA实现)

一、变换域滤波器简介1、采用变换域进行滤波处理的原因针对在时域无法进行滤波的情况或节约运算量。比如,扩频通信中的强窄带干扰的滤除,在时域很难处理&#

一、变换域滤波器简介


1、采用变换域进行滤波处理的原因

针对在时域无法进行滤波的情况或节约运算量。比如,扩频通信中的强窄带干扰的滤除,在时域很难处理,采用智能天线阵处理时,如果有用信号与干扰信号的波达方向相同,也无法通过波束成型算法滤除,但采用变换域滤波处理却十分容易。


2、变换域滤波有两种处理方法

通过某种变换将时域信号映射到另一个“域”直接处理,且处理后直接得到所需的时域信号,而不需要再进行域的反变换,如变换域串行LMS算法;

另一种处理方法是通过某种变换将时域映射到另一个“域”进行滤波处理,处理后的信号再通过对应的反变换处理,将信号再映射到时域,从而完成信号的滤波处理,如频域块LMS算法及变换域抗窄带干扰技术。其中后一种处理方法应用得更为广泛,滤波效果也更好,实现相对简单。


二、快速傅里叶变换


1、离散傅里叶变换


时域频域
周期/非周期离散/连续
连续/离散非周期/周期

 


 


 

对时域有限长信号采样后(离散)进行周期延拓(周期),这样,频域信号就变了周期离散信号。离散傅里叶理论实现了频域离散化,开辟了用数字技术在频域处理信号的新途径。


2、DFT存在的问题


名称问题原因解决措施
频率泄露导致频谱扩展信号截取时加窗导致的选择适当形状的窗函数、预加窗函数
栅栏效应只能在离散点看到信号频谱时域周期拓展导致频域离散化序列补零

 

 

 

 


3、频率分辨率与DFT参数的选择

频率分辨率:表征在频率轴上所能得到的最小频率间隔。

对于长度为N的DFT变换,其频率分辨率△f=fs/N,其中fs为时域信号的采样频率。

如果在x(n)中有两个频率分别为f1、f2的信号,则在对x(n)用矩形窗截断时,要分辨这两个频率,必须满足


4、FFT算法的基本思想

原理:利用的对称性和周期性:

算法提升程度:


 原来FFT算法
 

N^2次复乘、N(N-1)次复加

(N/2)log_2N
N=864次复乘12次
N=10241048576次5120次

 

 

 

 

 


5、FFT 算法的MATLAB仿真

%E8_1_FFTSim.m
%仿真FFT参数对采用FFT算法分析信号频谱的影响。产生频率分别为2Hz,2.05Hz的正弦波合成信号,采样
%频率=10Hz。根据(8-8)式,要实现分辨两个单频信号的目的,DFT的序列长度必须满足 。分别仿真3种
%情况下的FFT变换:1)取 的128点数据,计算FFT;2)将128点 以补零的方式加长到512点,计算FFT;
%3)取512点 ,计算FFT。
f1=2; f2=2.05;%单正弦信号的频率
fs=10; %采样频率
%对128点时域序列进行FFT分析
N=128; %FFT分析的点数
n=0:N-1;
xn1=sin(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs);%产生128点时域信号序列
XK1=fft(xn1); %进行傅立叶变换,并进行归一化处理
MXK1=abs(XK1(1:N/2));
% MXK1=20*log10(abs(XK1(1:N/2)));
% MXK1=MXK1-max(MXK1);
%对补零后的512点时域序列进行FFT分析
M=512;
xn2=[xn1 zeros(1,M-N)];%在时域信号序列后补零
XK2=fft(xn2); %进行傅立叶变换,并进行归一化处理
MXK2=abs(XK2(1:M/2));
%MXK2=20*log10(abs(XK2(1:M/2)));
%MXK2=MXK2-max(MXK2);
%对512点时域序列进行FFT分析
n=0:M-1;
xn3=sin(2*pi*f1*n/fs)+sin(2*pi*f2*n/fs);%产生128点时域信号序列
XK3=fft(xn3); %进行傅立叶变换,并进行归一化处理
MXK3=abs(XK3(1:M/2));
% MXK3=20*log10(abs(XK3(1:M/2)));
% MXK3=MXK3-max(MXK3);
%绘图
subplot(321);
x1=0:N-1;
plot(x1,xn1);xlabel('n','fontsize',8);title('128点x(n)','fontsize',8);
subplot(322);
k1=(0:N/2-1)*fs/N;
plot(k1,MXK1);xlabel('f(Hz)','fontsize',8);title('128点xn的FFT变换','fontsize',8);
subplot(323);
x2=0:M-1;
plot(x2,xn2);xlabel('n','fontsize',8);title('512点补零x(n)','fontsize',8);
subplot(324);
k2=(0:M/2-1)*fs/M;
plot(k2,MXK2);xlabel('f(Hz)','fontsize',8);title('512点补零xn的FFT变换','fontsize',8);
subplot(325);
plot(x2,xn3);xlabel('n','fontsize',8);title('512点x(n)','fontsize',8);
subplot(326);
plot(k2,MXK3);xlabel('f(Hz)','fontsize',8);title('512点xn的FFT变换','fontsize',8);

N>400,才能分辨出f1、f2两信号

 

 

 


推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 1.点击查看隐藏当前按钮和这个内容,显示另一个内容能。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
author-avatar
飞翔的10号
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有