zoukankan      html  css  js  c++  java
  • 怎么用MATLAB产生FPGA所需的hamming窗系数

    需求

    在FPGA处理中如果需要对待处理数据加窗,则需要窗系数存储在ROM中以供使用。


    前言

    加窗有啥用呢,我们知道:时域的乘积就是频域的卷积。

    而直接截取的一段数据,如果直接求解fft,你发现有效频点旁瓣贼拉高,对信号的后处理是不利的。

    那么加个窗就会使得旁瓣被抑制很多,使得表现的没那么椎间盘突出。但不好的一面,会使得主瓣会被展宽。毕竟根据能量守恒定律,旁瓣矮了能量减小,主瓣就得身宽体胖吸收多余能量。

    所以选择正确的窗函数也是很重要的。

    MATLAB窗函数说明

     

    流程

    比如加个hamming窗,8192点,16bit放大。

    new方法:直接生成xilinx 所需的coe文件。 ceil函数为取整。

    clc;                                            
    clear all;
    close all;
    
    N = 8192;                                         %窗长度
    M = 2^16-1;                                       %系数放大16bit
    w = hamming(N);                                   %加汉明窗
    x = ceil(w*M);                                    %放大取整
    
    plot(x);
    fp=fopen('Hamming8192.coe','w');                  %open the file
    fprintf(fp,'memory_initialization_radix=10;
    ');  %header
    fprintf(fp,'memory_initialization_vector=
    ');    %header
    fprintf(fp, '%g,
    ', x(1:N-1));                   % (1:n-1) data with ','
    fprintf(fp, '%g;
    ', x(N));                       %the last data with ';'
    fclose(fp);                                       %close the file

    以上。

  • 相关阅读:
    Git tag
    Docker学习笔记五 仓库
    Docker学习笔记四 Docker容器
    Docker学习笔记二 使用镜像
    Docker学习笔记一 概念、安装、镜像加速
    element-UI 下拉条数多渲染慢
    scroll-view——小程序横向滚动
    Jquery slider范围滑块,为两个滑块设置不同的setp值
    自说自话2
    自说自话1
  • 原文地址:https://www.cnblogs.com/kingstacker/p/10644277.html
Copyright © 2011-2022 走看看