Q&A:filter-频谱幅度换算,数组定义,PROCESS

Q:
主题: 关于数字滤波器的书上的疑问
    杜先生,您好,在数字滤波器书上的FIR滤波器的章节,我有一些疑问,希望能够得到您的回复
    1、在利用MATLAB仿真的时候,我经常看到类似这样的命令:20*log(abs(fft(h_ham,N)))/log(10),我的疑问是为什么要取对数log,20*log()/log(10)是不是一条公式,我在百度查不到相关的公式,请问可不可以解释说明一下这条公式?
    还有一些关于VHDL语言的基本语法问题:
    1、在滤波器书本的135页的第21行(不算空白行),写着type XinReg is array(15 downto 0)of STD_LOGIC_VECTOR(11 downto 0);,前面是(15 downto 0),而后面是(11 downto 0),前后位数不对应,请问这样定义可以吗?
    2、在滤波器书本的136页的第12行,写着Xin_Reg(0)<=Xin,Xin是12位,Xin_Reg(0)是1位,请问这里如何理解?
    3、process里面的语句是顺序执行,但是,如果process里面的if语句的内容是一个复合句,那么if语句的复合句是不是并行执行?比如说滤波器书本的136页最上面的那个process部分里面的第二个if语句。
    问题可能比较多,希望能够得到您的回复,谢谢!
    祝节日快乐!

Q:

你好!
      1. abs(fft(h_ham,N))是求傅立叶变换后的幅度,单位是V,20*log(abs(fft(h_ham,N)))/log(10)是将其转换为功率dBW。因为频谱图通常都是以dB为单位的。
      2. array(15 downto 0) 是指定义具有16个元素的数组,STD_LOGIC_VECTOR(11 downto 0)表示每个元素为长度12比特的信号。
     3.Xin_Reg(0) 表示第1个数组元素,元素为长度12比特的信号。
     3. 我近段较长时期内在外出差,手上没有书的程序资料,你所说的process的问题,请查阅《FPGA/VHDL设计入门与进阶》的相关内容。
     4. 《数字滤波器的MATLAB与FPGA实现》需要有一定的VHDL编程基础,建议先阅读《FPGA/VHDL设计入门与进阶》,切实掌握VHDL语言,这样理解数字滤波器的程序会容易些。滤波器书中涉及到的VHDL知识,在入门与进阶一书中都有详细讨论。
     5. 无论如何,基础是最重要的,相信通过你的努力学习,一定可以取得更大的收获。
 
祝愉快!

                                                                        杜勇

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜勇老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值