当前位置: 首页 > news >正文

基于CMFB余弦调制滤波器组的频谱响应matlab仿真

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

4.1、CMFB余弦调制滤波器组原理

4.2、CMFB调制过程

4.3、CMFB特点

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

matlab2022a

3.部分核心程序

......................................................................
figure;
plot(w1/(2*pi),20*log10(abs(h1)/max(abs(h1))));
xlabel('归一化频率');
ylabel('幅频响应(dB)');
axis([0,0.5,-150,10]);
title('原型滤波器');
% 创建一个新的图窗并绘制每个通道的滤波器组的幅频响应曲线  
figure;
for ij=1:Num_ch% 对于每个通道,执行以下循环  for ij2=1:N% 对于每个样本,执行以下循环,样本数量由前面定义的N决定  % 为每个通道计算一个特定的滤波器系数并赋值给cmfb1矩阵的相应元素位置  cmfb1(ij,ij2) = 2*Pcosm_filter(ij2)*cos((2*(ij-1)+1)*pi/(2*Num_ch)*(ij2-1-(N-1)/2)+(-1)^(ij-1)*pi/4);end% 将当前通道的所有滤波器系数赋值给Bcoff变量  Bcoff   = cmfb1(ij,:);% 通过freqz函数获取当前通道的滤波器的频率响应,结果赋值给h2和w2  [h2,w2] = freqz(Bcoff,Acoff,512);% 在新的图窗中绘制当前通道的滤波器幅频响应曲线,并保持当前图窗打开状态以便绘制下一条曲线  plot(w2/(2*pi),20*log10(abs(h2)/max(abs(h2))));hold onxlabel('归一化频率');ylabel('幅频响应(dB)');title('滤器组');axis([0,0.5,-150,10]);
end% 循环结束,对于所有通道的所有滤波器幅频响应都已绘制在新的图窗中
figure;
stem(Pcosm_filter);
xlabel('样本');
ylabel('冲激响应');
title('滤器响应');
78

4.算法理论概述

         CMFB余弦调制滤波器组是一种基于余弦调制技术的滤波器组,它具有频率选择性和可调性,可以广泛应用于信号处理、图像处理、通信等领域。下面将详细介绍其原理、数学公式等。

4.1、CMFB余弦调制滤波器组原理

        CMFB余弦调制滤波器组的基本原理是利用余弦函数的周期性和对称性,将一个宽带信号分解成多个窄带信号,并通过滤波器组对各个窄带信号进行处理,从而实现信号的选择和提取。具体来说,CMFB余弦调制滤波器组通过将输入信号与一组余弦函数进行调制,生成一组带移位的信号,再将这些信号通过一组带通滤波器进行滤波,得到一组带通信号,最后通过对这组带通信号进行解调,得到一组输出信号。

4.2、CMFB调制过程

滤波器组的频率响应可以用以下数学公式表示:

H(e^jω)=∑k=0N-1h(k)e^jωkH(e^{j\omega}) = \sum_{k=0}^{N-1} h(k) e^{j\omega k}H(e^jω)=k=0∑N−1​h(k)e^jωk

其中,H(e^jω)表示滤波器组的频率响应,h(k)表示滤波器系数。

4.3、CMFB特点

CMFB余弦调制滤波器组具有以下特点:

  1. 具有频率选择性,可以对不同频率的信号进行分别处理;
  2. 具有可调性,可以通过改变滤波器系数来改变滤波器的频率响应;
  3. 可以实现高效计算,通过对输入信号进行调制和解调,可以将宽带信号转化为窄带信号进行处理,从而减少计算量;
  4. 可以实现多通道处理,通过对多个滤波器进行级联,可以实现多通道信号的处理。

CMFB余弦调制滤波器组可以广泛应用于以下领域:

  1. 信号处理:可以对信号进行滤波、去噪、压缩等处理;
  2. 图像处理:可以对图像进行滤波、增强、压缩等处理;
  3. 通信:可以用于调制解调、信道均衡、频偏校正等处理;
  4. 其他领域:如雷达、声呐、电子对抗等。

5.算法完整程序工程

OOOOO

OOO

O

相关文章:

基于CMFB余弦调制滤波器组的频谱响应matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、CMFB余弦调制滤波器组原理 4.2、CMFB调制过程 4.3、CMFB特点 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ......................…...

helm一键部署grafana

一键部署命令 helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install prometheus prometheus-community/kube-prometheus-stack暴露服务 kubectl port-forward --address 0.0.0.0 deployment/prometheus-gr…...

pytorch复现_NMS

NMS(非极大值抑制)阈值是用于控制在一组重叠的边界框中保留哪些边界框的参数。当检测或识别算法生成多个边界框可能涵盖相同物体时,NMS用于筛选出最相关的边界框,通常是根据它们的置信度分数。 具体来说,NMS的工作原理…...

备份doris数据到minio

1、MINIO 设置 创建服务账户,记住ACCESS_KEY和SECRET_KEY 创建Buckets doris 设置region 在首页查看服务ip和端口号 2、创建S3备份库 因为minio是兼容S3协议的,所以可以通过s3协议链接minio。 CREATE REPOSITORY minio WITH S3 ON LOCATION "s3://…...

Linux中正则表达式等

grep命令:主要作用就是过滤查找文本内容 常用的选项有: -m 数字:匹配几次之后停止,按行匹配,不是按字符个数,例如 -v:取反 例如: -n:显示匹配的行号 例如: -c:仅显示匹配的行数,不显示匹配内…...

记一次并发问题 Synchronized 失效

记一次并发问题 Synchronized 失效 场景:为避免信息提交重复,给事务方法增加了synchronized修饰符,实际场景中仍然无法完全避免重复,原因是因为在第一个线程执行完synchronized代码段后,此时spring还未完成事务提交&a…...

手机平板摄像头如何给电脑用来开视频会议

环境: Iriun Webcam EV虚拟摄像头 钉钉会议 问题描述: 手机平板摄像头如何给电脑用来开视频会议 解决方案: 1.下载软件 手机端和电脑端都下载这个软件,连接同一局域网打开软件连接好 另外一款软件Iriun 也是一样操作 2.打…...

windows docker desktop 更换镜像 加速

最近 docker hub 访问不了; 经过研究 可以通过添加 代理镜像网址 添加代理服务器的方式 实现完美访问 1添加镜像网站 修改成国内镜像地址就能享受到飞一般的速度,但有一个问题,部分站点镜像不全或者镜像比较老,建议使用多个镜像站。 https…...

linux下多机器ssh免密码登录配置

20,21,22,23等4台机器配置ssh免密登陆 确认sshd配置 查看/etc/ssh/sshd_config文件,确认如下配置没有被注释掉: AuthorizedKeysFile .ssh/authorized_keys每一台机器修改hosts配置主机名(可选) 执行ssh命令,如…...

【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】

Install Parent project C:\Users\lxh\.jdks\corretto-1.8.0_362\bin\java.exe -Dmaven.multiModuleProjectDirectoryD:\学习\projectFile\study\study_example_service "-Dmaven.homeD:\Program Files\JetBrains\IntelliJ IDEA2021\plugins\maven\lib\maven3" "…...

Flink 统计接入的数据量-滚动窗口和状态的使用

1、概述 在生产场景值,经常需要和上游、下游对数,离线场景可以直接 group by 再 count ,但是实时场景中,如果使用 kafka 作为中间件,中间经过几个 job 的过滤转化后,再对照像 Doris 或 Clickhouse 中最终层…...

SpringBoot快速整合canal1.1.5(TCP模式)

SpringBoot快速整合canal1.1.5(TCP模式) 安装并配置MySQL主从⭐ 1:Docker安装MySQL8.0.28 docker pull mysql:8.0.282:创建目录: mkdir -p /usr/local/mysql8/data mkdir -p /usr/local/mysql8/log mkdir -p /usr/…...

docker打包container成image,然后将image上传到docker hub

第一步&#xff1a;停止正在运行的容器 docker stop <container_name> eg: docker stop xuanjie_mlir 第二步&#xff1a;将对应的container打包成image docker commit <container_id> <镜像名&#xff1a;版本> eg&#xff1a;docker commit 005672e6d97a…...

设计模式—创建型模式之原型模式

设计模式—创建型模式之原型模式 原型模式&#xff08;Prototype Pattern&#xff09;用于创建重复的对象&#xff0c;同时又能保证性能。 本体给外部提供一个克隆体进行使用。 比如我们做一个SjdwzMybatis&#xff0c;用来操作数据库&#xff0c;从数据库里面查出很多记录&…...

Zygote进程通信为什么用Socket而不是Binder?

Zygote进程是Android系统中的一个特殊进程&#xff0c;它在系统启动时被创建&#xff0c;并负责孵化其他应用进程。它的主要作用是预加载和共享应用进程的资源&#xff0c;以提高应用启动的速度。 在Android系统中&#xff0c;常用的进程通信方式有以下几种&#xff1a; Intent…...

API接口加密,解决自动化中登录问题

一、加密方式 AES&#xff1a;对称加密&#xff0c;快RAS&#xff1a;非对称加密&#xff0c;慢AESRAS&#xff1a;安全高效 加密过程&#xff1a;字符串》字节流》加密的字节流&#xff08;算法&#xff09;&#xff0c;解密有可能出现乱码&#xff0c;所以不能直接转成字符…...

COCOS2DX3.17.2 Android升级targetSDK30问题解决方案

一、luajit不兼容问题 不兼容版本&#xff1a;【2.1.0-bate2、2.1.0-bate3都存在异常】 出问题系统&#xff1a;Android11&#xff1b;Android10的系统部分机型有问题&#xff0c;部分机型正常 异常点1&#xff1a;c调用lua接口&#xff0c;pushObjiect的时候crash 异常点2…...

HarmonyOS鸿蒙原生应用开发设计- 隐私声明

HarmonyOS设计文档中&#xff0c;为大家提供了独特的隐私声明&#xff0c;开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容&#xff0c;既可以符合HarmonyOS原生应用的开发上架运营规范&#xff0c;又可以防止使用别人的内容产生的侵权意外情况等&#xff…...

【面试精选】00后卷王带你三天刷完软件测试面试八股文

前言 本人普通本科计算机专业&#xff0c;做测试也有3年的时间了&#xff0c;讲下我的经历&#xff0c;我刚毕业就进了一个小自研薪资还不错&#xff0c;有10.5k&#xff08;个人觉得我很优秀&#xff09;&#xff0c;在里面呆了两年&#xff0c;积累了一些的经验和技能&#…...

k-means算法c++实现

计算数据集中的元素与各个簇的中心的距离&#xff0c;将它赋给最近的簇&#xff0c;然后重新计算每个簇的平均值&#xff0c;再将元素按离平均值点最近的原则重新分配直到没有出现重新分配 该算法要事先给出k的值&#xff0c;即划分为几个簇。 vector<int> datoclu(dat…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...