wordpress+手机站云南手机网站建设

bicheng/2026/1/17 11:59:07/文章来源:
wordpress+手机站,云南手机网站建设,旅游公司的网站怎么做,wordpress后台乱码用FPGA CORDIC IP核实现信号的相位检测 1.matlab仿真 波形仿真代码#xff1a; 代码功能#xff1a;生成一个点频信号s#xff0c;求出s的实部和虚部#xff1b;并且结算相位角atan2。画出图形#xff0c;并且将Q和I数据写入文件中。 %代码功能#xff1a;生成一个点…用FPGA CORDIC IP核实现信号的相位检测 1.matlab仿真 波形仿真代码 代码功能生成一个点频信号s求出s的实部和虚部并且结算相位角atan2。画出图形并且将Q和I数据写入文件中。 %代码功能生成一个点频信号s求出s的实部和虚部并且结算相位角atan2。画出图形并且将Q和I数据写入 clc; clear;close all;F11; %信号频率 Fs65536; %采样频率 FsN能采一个周期 P145; %信号初始相位(单位°),90-cos函数 N65536; %采样点数 t[0:1/Fs:(N-1)/Fs]; %采样时刻 A2^15-1; %信号幅度%生成点频信号 sA*exp(1i *(2*pi*F1*t pi*P1/180));% IQ分解分别提取实部和虚部 I real(s); Q imag(s);% 计算相位角 phase atan2(Q, I);% 提取初始相位t0处的相位值 initial_phase phase(1); %显示初始相位值将其转换为π的倍数进行显示 disp([初始相位值, num2str(initial_phase/pi),pi]);% 绘制结果图,画出signal信号的实部和虚部 figure; subplot(3,1,1); plot(t, real(s), b); title(In-phase Component (I));subplot(3,1,2); plot(t, imag(s), r); title(Quadrature Component (Q)); xlabel(Time (s));% 计算相位角 subplot(3,1,3); plot(t, phase); xlabel(时间); ylabel(相位); title(相位随时间变化); %将纵坐标转化为Π的倍数 yticks([-1*pi, -0.5*pi, 0, 0.5*pi, pi]); yticklabels({-π, -0.5π, 0, 0.5π, π});%创建 coe 文件 Idatafild fopen(Idata_65536x15bit.coe,wt);%写入 coe 文件头%固定写法表示写入的数据是 10 进制表示fprintf(fild, %s\n,memory_initialization_radix10;);%固定写法下面开始写入数据fprintf(fild, %s\n\n,memory_initialization_vector ); for i 1:Ns2(i) round(I(i)); %对小数四舍五入以取整fprintf(fild, %d,s2(i)); %数据写入if iNfprintf(fild, %s\n,;); %最后一个数据用;elsefprintf(fild,,\n); % 其他数据用,endendfclose(fild); % 写完了关闭文件%创建 coe 文件 Qdatafild fopen(Qdata_65536x15bit.coe,wt);%写入 coe 文件头%固定写法表示写入的数据是 10 进制表示fprintf(fild, %s\n,memory_initialization_radix10;);%固定写法下面开始写入数据fprintf(fild, %s\n\n,memory_initialization_vector ); for i 1:Ns3(i) round(Q(i)); %对小数四舍五入以取整fprintf(fild, %d,s3(i)); %数据写入if iNfprintf(fild, %s\n,;); %最后一个数据用;elsefprintf(fild,,\n); % 其他数据用,endendfclose(fild); % 写完了关闭文件 ​ 上面的代码除了生成下面的波形结果外还将数据写入文件“Idata_65536x15bit.coe” 和 “Qdata_65536x15bit.coe” 可以在电脑win图标旁边直接搜索这两个文件默认是在MATLAB文件中的一个文件夹中。 波形结果 2.FPGA实现 生成的点频信号signal 以及I,Q的分解可以用ROM来输入。 用FPGA实现的关键以及难点是计算相位角phase atan2(Q, I); ROM 创建两个ROM分别将Idata_65536x15bit 和 Qdata_65536x15bit 写入。 数学知识补充atan和atan2 参考文章atan2函数和atan函数 - 知乎 (zhihu.com) 在MATLAB中atan和atan2函数都用于计算角度但它们之间有一些重要的区别。 atan函数 atan函数是计算反正切值的标准函数其语法为y atan(x)。atan函数返回的角度范围是[-π/2, π/2]即从-90度到90度之间。atan函数只能接受一个参数即y atan(x)其中x是输入的实数值。 atan2函数 atan2函数是计算反正切值的扩展函数其语法为y atan2(y, x)。atan2函数返回的角度范围是[-π, π]即从-180度到180度之间。atan2函数可以处理所有四个象限的情况避免了由于分母为零而导致的错误。atan2函数接受两个参数即y atan2(y, x)其中y是输入的虚部x是输入的实部。 ​ 主要区别在于atan函数只能处理一个参数且返回值范围是[-π/2, π/2]而atan2函数可以处理两个参数且返回值范围是[-π, π]并且能够处理所有四个象限的情况。在处理复数的相位角度时通常会使用atan2函数来确保得到正确的结果。 这两个函数的转换关系 atan函数转换为atan2函数(图片来自知乎) x 0, 是一、四象限的点等价atan;x 0,是二、三象限的点根据y的范围来确定 y 0,是第二象限的点先用atan得到第四象限的弧度制再加上Π就转换到了第二象限y 0.是第三象限的点先用atan得到第一象限的弧度制再减去Π就转换到了第二象限 x 0,根据y的正负来确定 y 0, 值为Π/2y 0,值为-Π/2 注意当x0,y0时atan2(0,0)0 matlab中这样规定 FPGA代码思路 VIVADO的CORDIC IP核中的Arc Tan ,可以直接计算atan2自动将atan转换为atan2。 CORDIC IP核使用 参考视频FPGA IP之CORDIC使用与仿真_哔哩哔哩_bilibili 参考文章FPGA数字信号处理十四Vivado Cordic IP核计算arctan_fpga arctan-CSDN博客 FPGA 代码 DDS_IQ模块是DDS波形产生模块读取ROM中存入的数据生成两个波形 I_data 和 Q_data module DDS_IQ (input clk, //系统时钟input rst_n,output signed [15:0] I_data,output signed [15:0] Q_data);reg [15:0]r_Fword; //频率控制字寄存器 reg [1:0]r_Pword; //相位控制字寄存器 reg [31:0] Fcnt; //累加寄存器 wire [15:0] I_rom_addr; //ROM地址宽度16位 wire [15:0] Q_rom_addr; //ROM地址宽度16位//将值存入寄存器 always(posedge clk or negedge rst_n)beginif(!rst_n)beginr_Fword 16d0;r_Pword 2d0;endelse beginr_Fword 16d1000; r_Pword 2d0; end end//累加 always(posedge clk or negedge rst_n)beginif(!rst_n)Fcnt 32d0;elseFcnt Fcnt r_Fword; end//相位调制器 assign I_rom_addr Fcnt[31:15] r_Pword; //截取高位并加上相位累加器的值 assign Q_rom_addr Fcnt[31:15] r_Pword;blk_mem_gen_I I_value(.clka(clk), // input wire clka.ena(1b1), // input wire ena.addra(I_rom_addr), // input wire [15 : 0] addra.douta(I_data) // output wire [15 : 0] douta ); blk_mem_gen_Q Q_value (.clka(clk), // input wire clka.ena(1b1), // input wire ena.addra(Q_rom_addr), // input wire [15 : 0] addra.douta(Q_data) // output wire [15 : 0] douta );endmodule顶层 atan_top 模块计算atan(Q/I) module atan_top(input clk, //系统时钟input rst_n,input [15:0] I_data,input [15:0] Q_data,output signed out_valid, //输出有效信号output signed [15:0]theta //arctan计算结果);//例化DDS_IQ模块将两个信号引入 DDS_IQ u_DDS_IQ(.clk (clk), .rst_n (rst_n),.I_data (I_data),.Q_data (Q_data) );//输入I和Qoutarctan(Q/I); //tdata端口虚部Q在前实部I在后 cordic_1 u_cordic_1 (.aclk(clk), // input wire aclk.aresetn(rst_n), // input wire aresetn.s_axis_cartesian_tvalid(1b1), // input wire s_axis_cartesian_tvalid.s_axis_cartesian_tdata({Q_data[15],Q_data[15:1],I_data[15],I_data[15:1]}), // input wire [31 : 0] s_axis_cartesian_tdata.m_axis_dout_tvalid(out_valid), // output wire m_axis_dout_tvalid.m_axis_dout_tdata(theta) // output wire [15 : 0] m_axis_dout_tdata ); //输入的32位中[15:0]为实部I,[16:31]为虚部QendmoduleTB文件 module cordic_tb_top();//接口声明reg clk;reg rst_n;wire signed out_valid;wire signed [15:0]theta;wire signed[15:0]I_data;wire signed[15:0]Q_data;//initial handle $fopen(F:/MY_WORK/3U_phase_discrimination/cordic.txt);//打开文件/* //对被测的设计进行例化 DDS_IQ u_DDS_IQ(.clk (clk), .rst_n (rst_n),.I_data (I_data),.Q_data (Q_data) ); */ DDS_IQ u_DDS_IQ(.clk (clk), .rst_n (rst_n),.I_data (I_data),.Q_data (Q_data) );atan_top u_atan_top(.clk (clk), .rst_n (rst_n),.I_data (I_data),.Q_data (Q_data),.out_valid (out_valid), .theta (theta) );//产生时钟 50MHZ initial clk 1; always #10 clk ~clk;//测试激励产生 initial beginrst_n 0;#200;rst_n 1;end/* always(posedge clk) beginif(out_valid)$fdisplay(handle,%b,theta);//写数据 end */endmodule仿真结果 注意这三个波形为模拟波形有符号数 结果分析 如何判断自己的仿真结果是正确的 就以上面的仿真图片和下面的结果来验证一下 数据1Q 0 ; I -32767 ; atan2 25736 数据2Q -25279; I -20848; atan2 -18517 这些数据如何转化为二进制可以查看CORDIC IP核中的这个界面 Q格式数据可以用Fix格式数据表示。 对于有符号数表示为Fix(1XN)_NX表示整数位数N表示小数位数。 但是在这里的结果验证中不需要转换数据格式就可以 数据1属于《数学知识补充atan和atan2》 的第二种情况x0, y0 ​ atan2(Q,I) atan(Q/I) Π 0 Π Π ​ 而根据输出波形atan2 25736将它转换25736/(2^13) 3.1416 √ 数据2属于《数学知识补充atan和atan2》 的第三种情况x0, y0 ​ atan2(Q,I) atan(Q/I) - Π ​ 其中atan(Q/I) atan(-25279/-20848) atan(1.2125) 0.88115 Radians ​ ∴ atan2(Q,I) 0.88115 - Π -2.26 而根据输出波形atan2 -18517将它转换-18517/(2^13) -2.26 √ 仿真结果符合事实

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发路径wordpress后台慢

目录 背景: 过程: 一.沟通与信息共享 三.问题解决与风向的管理 四:团队建设与文化建设 五持续改进和发展 总结: 背景: 在快节奏、高效率的现代工作环境中,每天的汇报会在工作环境中扮演着重要的沟通和写作的角色,汇报会作为一种非常重…

企业买好域名后怎么做网站无锡网站建设推荐智勇

批量查询圆通速递单号的物流信息,并对需要的单号进行颜色标记。 所需工具: 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,第一次使用的伙伴记得先注册&#xff0c…

哈尔滨行业网站建设策划wordpress安装大淘客

我认为要管理好前端团队: 本质上:让团队少走弯路,并引领团队走在正确的道路上。 理念上:让团队高效工作、快乐工作。 实施上:要想尽办法给团队、给成员赋能。 个人角度: 角色转变,开发人员 -&g…

阿里建站系统自己怎么做网站模块

不充钱&#xff0c;你怎么AC&#xff1f; 题目&#xff1a;http://codevs.cn/problem/3116/ 基础的高精度加法&#xff0c;注意一下两个数长短不一和答案第一位的处理即可&#xff0c;当然也可以用压位的方法做 1 #include<cstdio>2 #include<cstdlib>3 #include&l…

wordpress怎么搜索网站兼容模式网站错位

「面试专栏」前端面试之html篇⚡序言⭐一、题集内容抢先看&#x1f320;二、规范相关1、你如何理解HTML结构的语义化2、浏览器是怎么对 Html5 的离线储存资源进行管理和加载的呢3、HTML W3C的标准4、Doctype作用? 严格模式与混杂模式如何区分&#xff1f;它们有何意义?5、vie…

做网站与数据库的关系做网站 流量怎么抓钱

给定一个常数 K 以及一个单链表 L&#xff0c;请编写程序将 L 中每 K 个结点反转。例如&#xff1a;给定 L 为 1→2→3→4→5→6&#xff0c;K 为 3&#xff0c;则输出应该为 3→2→1→6→5→4&#xff1b;如果 K 为 4&#xff0c;则输出应该为 4→3→2→1→5→6&#xff0c;即…

企业开源建站系统我的网站百度怎么搜索不到了

2019独角兽企业重金招聘Python工程师标准>>> 随着发展&#xff0c;现代 Web 设计在改善体验和功能的同时&#xff0c;对于美观的追求也越来越高&#xff0c;可视化、交互式、动态等元素和效果似乎已成为标配。 以下是为开发者推荐的 10 款开源 Javascript 图表库&am…

福清市住房和城乡建设局网站佛山+网站建设

自上线以来 矩阵通已服务了上千家企业级客户 覆盖汽车、家居、媒体、金融、教育等多个行业 矩阵通1.0时代 我们以“数据”为基座打造出10功能 帮助企业轻松管理新媒体矩阵 实现账号管理、数据分析、竞对监测、 人员考核、风险监管等需求 而现在 矩阵通2.0重磅上线 新增…

网站改版换域名手机网站创建站点成功

激活函数存在的意义&#xff1a; 激活函数决定了某个神经元是否被激活&#xff0c;当这个神经元接收到的信息是有用或无用的时候&#xff0c;激活函数决定了对这个神经元接收到的信息是留下还是抛弃。如果不加激活函数&#xff0c;神经元仅仅做线性变换&#xff0c;那么该神经网…

公司网站备案后在百度上多长时间可以搜索到济南做网站找大标

近日上海晋名又有两台室外危化品暂存柜项目通过验收&#xff0c;此次项目主要用于医药制造行业次氯酸钠、乙醇消毒剂、甲醛等化学品的室外暂存安全。 用户单位创立于2003年&#xff0c;是一家以从事医药制造业为主的企业。用户在日常工作运营中涉及到次氯酸钠、乙醇消毒剂、甲…

老河口城乡建设局网站市网站建设

目录 1. freemarker 介绍创建测试工程2.2.2) 配置文件2.2.3) 创建模型类2.2.4) 创建模板2.2.5) 创建controller2.2.6) 创建启动类2.2.7) 测试 2.3) freemarker基础2.3.1) 基础语法种类2.3.2) 集合指令&#xff08;List和Map&#xff09;2.3.3) if指令2.3.4) 运算符2.3.5) 空值处…

南昌网站改版陕西省住房和城乡建设厅

参考&#xff1a;如何自建根证书&#xff1f;使用openssl库自建根证书带图详解 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108217572?spm1001.2014.3001.5502 目录根证书的普通用途自建根证书步骤1、创建一个目录&#xff0c;存放所有证书有关资料2、进入…

静态网站html北京南站

3.1 Grand Central Dispatch (GCD)概要 3.1.1什么是GCD Grand Central Dispatch&#xff08;GCD&#xff09;是异步执行任务的技术之一。一般将应用中记述线程管理用的代码在系统级中实现。开发者只要定义想执行的任务并追加到Dispatch Queue中&#xff0c;GCD就能生成必要的…

网站开发的项目总结兰州做网站或小程序

目录 简介 CBAM注意力机制原理及代码实现 原理 代码实现 GAM注意力机制 原理 代码实现 修改损失函数 YAML文件 完整代码 &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; http://t.csdnimg.c…

聊网站推广网站开发流程丽江

前提 Jenkins是容器化部署的&#xff0c;目前有后端Java的部署任务&#xff0c;完成打包生成jar包后&#xff0c;需要运行Dockerfile&#xff0c;打包生成镜像&#xff0c;进行了一些实践 参考文章 https://hackmamba.io/blog/2022/04/running-docker-in-a-jenkins-container…

网站名字 备案ccms系统

0x01 产品简介 ChatGPT-Next-Web 是一种基于 OpenAI 的 GPT-3.5 、GPT-4.0语言模型的产品。它是设计用于 Web 环境中的聊天机器人,旨在为用户提供自然语言交互和智能对话的能力。 0x02 漏洞概述 2024年3月,互联网上披露CVE-2023-49785 ChatGPT-Next-Web SSRF/XSS 漏洞,未经…

文案交流网站项目管理软件免费版

Pickcode 通过视觉课程、聊天机器人、游戏和绘图来教授编程。 Pickcode 是一种新的语言和编辑器&#xff0c;可以直观地指导用户编写代码来制作聊天机器人、动画图画和游戏。Pickcode 旨在让用户在学习更高级的语言之前能够充满信心地开始学习编码。 Pickcode 可视化编程语言…

湖南省住房和城乡建设厅网站汕头网站推广系统

1. 一位全加器 2. 二进制加法原理 两个N位二进制补码相加&#xff0c;为防止溢出时导致计算结果错误&#xff0c;可将这两个加数先进行符号位扩展&#xff0c;变为N1位二进制数&#xff0c;然后相加&#xff0c;结果亦取N1位&#xff0c;可保证运算结果正确。 根据多位加法器…

青岛胶州网站建设电商网站方案建设

RabbitMQ是实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件&#xff08;亦称面向消息的中间件&#xff09;。RabbitMQ服务器是用Erlang语言编写的&#xff0c;而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客…

中企动力做的网站好吗wordpress 路径插件下载

今天真是狂学了一天的C&#xff0c;什么期末考试&#xff0c;滚tmd&#xff08;就一门政治&#xff0c;不能影响我c的脚步&#xff09;&#xff0c;今天还是指针&#xff0c;主要是函数指针和函数指针数组&#xff0c;将简单的两位数计算器程序用此方式更加简单的实现了&#x…