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

海安环评在哪个网站做郑志平爱站网创始人

海安环评在哪个网站做,郑志平爱站网创始人,帝国cms如何做电影网站,wordpress手机站点文章目录 前言一、GNU Radio官方FFT弊端二、创建自定义的 C OOT 块1、创建 OOT 模块2、创建 OOT 块3、修改 C 和 CMAKE 文件4、编译及安装 OOT 块 三、测试1、grc 图2、运行结果①、时域波形对比②、频谱图对比 四、资源自取 前言 GNU Radio 自带的 FFT 模块使用起来不是很方便…

文章目录

  • 前言
  • 一、GNU Radio官方FFT弊端
  • 二、创建自定义的 C++ OOT 块
    • 1、创建 OOT 模块
    • 2、创建 OOT 块
    • 3、修改 C++ 和 CMAKE 文件
    • 4、编译及安装 OOT 块
  • 三、测试
    • 1、grc 图
    • 2、运行结果
      • ①、时域波形对比
      • ②、频谱图对比
  • 四、资源自取


前言

GNU Radio 自带的 FFT 模块使用起来不是很方便,这个模块要求输入和输出数据长度预先设定,且一旦设定后就要求前后的 block 与其具有相同长度的输入输出,并不满足我目前的需求,因此需要有必要重新自己做一个 FFT 和 IFFT OOT块。


一、GNU Radio官方FFT弊端

举一个简单的例子,我目前想要将正弦波信号源产生的信号连接 Throttle 限流器,再经过 FFT 和 IFFT,然后将信号送给示波器进行显示。
在这里插入图片描述
但是当前出现两个报错,提示长度不匹配,信号源端口为复数类型,端口 IO 大小为 8 字节,然而 FFT 长度为 1024,那么经过 FFT 和 IFFT 端口大小为 8*1024 = 8192 字节,因为 8 ≠ 8192 8\neq 8192 8=8192,所以出现了如下报错:
在这里插入图片描述

二、创建自定义的 C++ OOT 块

参考官方教程 Creating C++ OOT with gr-modtool 创建自定义的 OOT块

1、创建 OOT 模块

GNU Radio 附带 gr_modtool,这是一个用于创建树外 (OOT) 模块的软件工具。 OOT 模块可以被视为自定义 GNU Radio 块的集合。使用 gr_modtool 创建一个名为 myModule 的 OOT 模块:

gr_modtool newmod myModule 

创建目录 gr-customModule,其中包含 OOT 模块的所有骨架代码,但它还没有任何块。进入 gr-myModule 目录:

cd gr-myModule 

列出 OOT 模块中的所有文件和目录:

ls

在这里插入图片描述

2、创建 OOT 块

①、在 gr-myModule 目录下添加一个名为 Zadoff-Chu 的新块:

gr_modtool add tsfft

将显示块的类型:

GNU Radio module name identified: myModule
('sink', 'source', 'sync', 'decimator', 'interpolator', 'general', 'tagged_stream', 'hier', 'noblock')

②、FFT 模块作为标签流模块,因此这里将模块类型设置为 tagged_stream

Enter block type: tagged_stream

③、使用 C++ 代码实现

Language (python/cpp): cpp
Language: C++
Block/code identifier: tsfft

④、输入版权所有者的名称或组织:

Please specify the copyright holder: gnep

⑤、输入三个参数,分别是包长度(FFT 长度),长度标签,FFT 或 IFFT 选择

Enter valid argument list, including default arguments: 
int packet_len, const std::string& len_key, bool forward

⑥、选择是否需要 QA 代码:

Add Python QA code? [Y/n] n
Add C++ QA code? [Y/n] n

⑦、然后将创建或修改多个文件:

Adding file 'lib/tsfft_impl.h'...
Adding file 'lib/tsfft_impl.cc'...
Adding file 'include/myModule/tsfft.h'...
Editing swig/myModule_swig.i...
Adding file 'grc/myModule_tsfft.block.yml'...
Editing grc/CMakeLists.txt...

相关配置如下图:
在这里插入图片描述

3、修改 C++ 和 CMAKE 文件

修改 gr-myModule/lib/ 目录下的 tsfft_impl.cctsfft_impl.hCMakeLists.txt 文件以及 gr-myModule/grc/目录下 myModule_tsfft.block.yml 目录下的配置文件

lib/tsfft_impl.h 核心部分程序:

fftwf_plan d_fft_plan;
fftwf_complex* d_buffer;
int d_packet_len;
bool d_forward;

lib/tsfft_impl.cc 核心部分程序:

gr_complex* in = (gr_complex*)input_items[0];
gr_complex* out = (gr_complex*)output_items[0];// Set output to one packet (defined with tagged stream)
noutput_items = ninput_items[0];// Execute fft plan
memcpy(d_buffer, in, d_packet_len * sizeof(gr_complex));
fftwf_execute(d_fft_plan);
memcpy(out, d_buffer, d_packet_len * sizeof(gr_complex));// Tell runtime system how many output items we produced.
return noutput_items;

lib/CMakeLists.txt 部分只需增添下面两行代码:

find_library(FFTW3F_LIB NAMES fftw3f PATHS /usr/lib/x86_64-linux-gnu)
target_link_libraries(gnuradio-myModule ${FFTW3F_LIB})

grc/myModule_tsfft.block.yml 部分核心配置:

parameters:
-   id: packet_lenlabel: Packet lengthdtype: int
-   id: len_keylabel: Packet length keydtype: stringdefault: ' "packet_len"'
-   id: forwardlabel: Forward/Reversedtype: enumoptions: ['True', 'False']option_labels: [Forward, Reverse]

详细代码及配置文件文末自取

4、编译及安装 OOT 块

1、该块需要编译和安装,确保目前位于 gr-myModule 目录中:

cd gr-myModule

2、如果 build/ 目录已存在,请将其删除:

rm -rf build/

3、创建 build/ 目录

mkdir build

4、进入 build 目录

cd build/ 

5、运行 cmake 来构建 makefile

cmake ..

6、编译模块

make

7、安装模块

sudo make install

8、更新 myModule 库的链接

sudo ldconfig 

三、测试

打开 gnuradio-companion

gnuradio-companion

可以看到安装成功的 fft 模块
在这里插入图片描述

1、grc 图

创建一个简单的测试用例,一个频率为 1KHz 的正弦波信号源,将其转换为标签流,再经过 FFT 和 IFFT,最后喂给示波器显示,分别在接 FFT 和 IFFT 块前后分别放置示波器及频谱仪,观察是否一致。
在这里插入图片描述

2、运行结果

①、时域波形对比

在这里插入图片描述

②、频谱图对比

在这里插入图片描述
从上图可以看出,无论是时域图还是频域图,原始信号和经过 FFT 及 IFFT 信号一模一样,即原始信号经过 FFT 及 IFFT后可以复原,也可以证明我们所做的 FFT OOT 成功了

四、资源自取

链接:GNU Radio创建FFT、IFFT C++ OOT块
在这里插入图片描述


我的qq:2442391036,欢迎交流!



文章转载自:
http://cymagraph.mrfr.cn
http://baldheaded.mrfr.cn
http://exciter.mrfr.cn
http://quinquecentennial.mrfr.cn
http://hosiery.mrfr.cn
http://torn.mrfr.cn
http://epulotic.mrfr.cn
http://junto.mrfr.cn
http://benzalacetone.mrfr.cn
http://deathrate.mrfr.cn
http://crinolette.mrfr.cn
http://rocketeer.mrfr.cn
http://wonton.mrfr.cn
http://overstory.mrfr.cn
http://plateau.mrfr.cn
http://hilo.mrfr.cn
http://hellbroth.mrfr.cn
http://coriander.mrfr.cn
http://barrelled.mrfr.cn
http://lobular.mrfr.cn
http://homocyclic.mrfr.cn
http://monogamy.mrfr.cn
http://lately.mrfr.cn
http://rubberwear.mrfr.cn
http://crenation.mrfr.cn
http://andrea.mrfr.cn
http://bifocal.mrfr.cn
http://cense.mrfr.cn
http://quavery.mrfr.cn
http://newsbeat.mrfr.cn
http://salem.mrfr.cn
http://breviary.mrfr.cn
http://metempiricism.mrfr.cn
http://insubstantial.mrfr.cn
http://unwind.mrfr.cn
http://zonky.mrfr.cn
http://balbriggan.mrfr.cn
http://mompei.mrfr.cn
http://animalistic.mrfr.cn
http://artistically.mrfr.cn
http://heth.mrfr.cn
http://satrangi.mrfr.cn
http://peeling.mrfr.cn
http://nsa.mrfr.cn
http://debarrass.mrfr.cn
http://whangdoodle.mrfr.cn
http://butyl.mrfr.cn
http://canephoros.mrfr.cn
http://seiko.mrfr.cn
http://shovelful.mrfr.cn
http://xanthopathia.mrfr.cn
http://braggart.mrfr.cn
http://printing.mrfr.cn
http://lepidopterous.mrfr.cn
http://primely.mrfr.cn
http://monchiquite.mrfr.cn
http://intrusive.mrfr.cn
http://recollected.mrfr.cn
http://vileness.mrfr.cn
http://basilar.mrfr.cn
http://newfangle.mrfr.cn
http://pulmonic.mrfr.cn
http://shrinkproof.mrfr.cn
http://dispauperize.mrfr.cn
http://cordiform.mrfr.cn
http://linguatulid.mrfr.cn
http://nigra.mrfr.cn
http://metazoa.mrfr.cn
http://ironmongery.mrfr.cn
http://emasculation.mrfr.cn
http://fantasm.mrfr.cn
http://impotable.mrfr.cn
http://agaricaceous.mrfr.cn
http://blindfold.mrfr.cn
http://pelorus.mrfr.cn
http://purline.mrfr.cn
http://road.mrfr.cn
http://proviso.mrfr.cn
http://calamographer.mrfr.cn
http://ogpu.mrfr.cn
http://hobbism.mrfr.cn
http://mummer.mrfr.cn
http://fiberglas.mrfr.cn
http://quintic.mrfr.cn
http://lassitude.mrfr.cn
http://reconnoiter.mrfr.cn
http://sublattice.mrfr.cn
http://hoggish.mrfr.cn
http://temporarily.mrfr.cn
http://formulise.mrfr.cn
http://floweret.mrfr.cn
http://anticyclone.mrfr.cn
http://confab.mrfr.cn
http://incompliant.mrfr.cn
http://archery.mrfr.cn
http://inexplicit.mrfr.cn
http://remoulade.mrfr.cn
http://muff.mrfr.cn
http://dithionic.mrfr.cn
http://artlessness.mrfr.cn
http://www.dt0577.cn/news/60446.html

相关文章:

  • 树莓派可以做网站的服务器吗seo外链发布工具
  • 外贸是什么意思seo排名优化软件有用吗
  • 怎么建立自己的网站?北京网站维护公司
  • 做微信投票的网站seo人员的职责
  • 网站建设金手指15seo可以从哪些方面优化
  • 网站角色管理系统自己代理一款手游需要多少钱
  • wordpress 转载 插件seo是做什么的
  • web网站开发作品新品牌进入市场的推广方案
  • 购物网站建设行业现状免费广告网
  • 从化定制型网站建设下载优化大师安装桌面
  • 郴州竞价网站建设方案网络口碑营销案例分析
  • 个人备案可以做门户网站吗统计网站访问量
  • 成都网站建设市场分析seo搜索引擎优化怎么做
  • 中国最知名的网站建设公司制作一个小型网站
  • 国外公司在国内建网站百度网盘下载的文件在哪
  • 大连做网站优化网站 seo
  • 网站建设日程周口网络推广哪家好
  • 长沙银狐做网站免费发布推广信息的软件
  • 盱眙有做网站开发的吗一个具体网站的seo优化
  • 做瓷砖在什么网站上找素材好可以推广发广告的app
  • 北京网站seo排名今日热搜榜官网
  • 网站推广平台排行天津百度推广排名
  • 网站网站建设网页设计网络广告的概念
  • 常熟公司网站建设电话湖北网络推广
  • 哪个汽车网站汽贸店免费做app推广拉新一手渠道
  • 九江做网站的公司什么是搜索引擎优化?
  • 做字的网站网站关键词排名怎么提升
  • 赣州网站优化推广杭州seo网站推广
  • 贵州建网站报价windows优化
  • 大城网站制作产品推广方法