• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: Matlab  FFT  

资源简介

适用于matlab的.m文件,完成1024点FFT,内含5个m文件。

资源截图

代码片段和文件信息

%function [WTAB]=makewtab

a=zeros(12046);
fp = fopen(‘MyCosRom.v‘‘w‘);
fp1 = fopen(‘MySinRom.v‘‘w‘);
fprintf(fp‘module MyCosRom(clkAddressData);\n‘);
fprintf(fp‘\tinput[9:0] Address;\n‘);
fprintf(fp‘\tinput clk;\n‘);
fprintf(fp‘\toutput signed [15:0] Data;\n‘);
fprintf(fp‘\treg signed [15:0] Data;\n\n‘);
fprintf(fp‘\talways @(posedge clk) begin\n‘);
fprintf(fp‘\t\tcase(Address)\n‘);

fprintf(fp1‘module MySinRom(clkAddressData);\n‘);
fprintf(fp1‘\tinput[9:0] Address;\n‘);
fprintf(fp1‘\tinput clk;\n‘);
fprintf(fp1‘\toutput signed [15:0] Data;\n‘);
fprintf(fp1‘\treg signed [15:0] Data;\n\n‘);
fprintf(fp1‘\talways @(posedge clk) begin\n‘);
fprintf(fp1‘\t\tcase(Address)\n‘);
%PI=3.1415926536;
for j=1:10;
for i=1:2^(10-j);
   a((2^11)*(1-2^(1-j))+2*i-1)=cos((i-1)*pi/(2^(10-j)));
    a((2^11)*(1-2^(1-j))+2*i)=-sin((i-1)*pi/(2^(10-j)));
    if a((2^11)*(1-2^(1-j))+2*i-1)==1;
        a((2^11)*(1-2^(1-j))+2*i-1)=2^15-1;
    else;
        a((2^11)*(1-2^(1-j))+2*i-1)=a((2^11)*(1-2^(1-j))+2*i-1)*(2^15);
    end;
    if a((2^11)*(1-2^(1-j))+2*i)==1;
        a((2^11)*(1-2^(1-j))+2*i)=2^15-1;
    else;
        a((2^11)*(1-2^(1-j))+2*i)=a((2^11)*(1-2^(1-j))+2*i)*(2^15);
    end;
    if a((2^11)*(1-2^(1-j))+2*i-1)<0;
        a((2^11)*(1-2^(1-j))+2*i-1)=bitxor(abs(round(a((2^11)*(1-2^(1-j))+2*i-1)))65535)+1;
    else;
        a((2^11)*(1-2^(1-j))+2*i-1)=round(a((2^11)*(1-2^(1-j))+2*i-1));
    end;
    if a((2^11)*(1-2^(1-j))+2*i)<0;
        a((2^11)*(1-2^(1-j))+2*i)=bitxor(abs(round(a((2^11)*(1-2^(1-j))+2*i)))65535)+1;
    else;
        a((2^11)*(1-2^(1-j))+2*i)=round(a((2^11)*(1-2^(1-j))+2*i));
    end;     
   % if(mod(((2^5)*(1-2^(1-j))+2*i)4)==0);
        fprintf(fp‘\t\t\t%d:%d;\n‘((2^10)*(1-2^(1-j))+i-1)a((2^11)*(1-2^(1-j))+2*i-1));
        fprintf(fp1‘\t\t\t%d:%d;\n‘((2^10)*(1-2^(1-j))+i-1)a((2^11)*(1-2^(1-j))+2*i));
        %else;
       % fprintf(fp‘{%11.0f%11.0f}‘a((2^5)*(1-2^(1-j))+2*i-1)a((2^5)*(1-2^(1-j))+2*i));
        %fprintf(fp1‘{%9.2f%9.2f}‘a((2^5)*(1-2^(1-j))+2*i-1)a((2^5)*(1-2^(1-j))+2*i));
        %end;
end;
end;

fprintf(fp‘\t\tendcase\n‘);
fprintf(fp‘\tend\n‘);
fprintf(fp‘endmodule\n\n‘);
fprintf(fp1‘\t\tendcase\n‘);
fprintf(fp1‘\tend\n‘);
fprintf(fp1‘endmodule\n\n‘);
fclose(fp);
fclose(fp1);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2343  2006-05-19 17:58  1024fft\1024fft_table.m

     文件        167  2005-11-28 19:30  1024fft\MyCmsRom.v

     文件      26519  2005-12-30 17:08  1024fft\MyCosRom.v

     文件        167  2005-11-28 19:30  1024fft\MyCpsRom.v

     文件      26519  2005-12-30 17:08  1024fft\MySinRom.v

     目录          0  2015-06-17 11:33  1024fft

----------- ---------  ---------- -----  ----

                55715                    6


评论

共有 条评论