|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2013-7-11 22:59:50
|
显示全部楼层
- module HB
- (
- input clk,
- input rst_n,
-
- input[7:0] HB_in,
-
- output[19:0] HB_out
- );
- //-------------------------------------
- // %参数定义
- // f=1000; %信号频率为1kHz
- // Fs=40*f; %采样频率为20kHz
- // n=16; %半带滤波器阶数
- // D=2; %抽取因子
- // dev=0.0001; %通阻带容限
- //
- // %产生正弦波信号
- // t=0:1/Fs:0.02;
- // c=2*pi*f*t;
- // si=sin(c);
- //
- // %设计半带滤波器
- // b=firhalfband(n,dev,'dev')
- // s=filter(b,1,si); %对信号进行滤波
- // s=s/max(abs(s)); %归一化处理
- // Ds=s(1:D:length(t)); %对滤波后的信号进行抽取
- //
- // %绘图
- // figure(1);x=0:1:100;x=x/Fs;Dx=x(1:D:length(x));
- // subplot(211);stem(x,si(1:length(x)));title('MATLAB仿真前波形');
- // subplot(212);stem(Dx,Ds(1:length(Dx)));title('MATLAB仿真后波形');
- // figure(2);freqz(b);
- //滤波系数
- //b =
- //
- // Columns 1 through 11
- //
- // 0 -0.0030 0 0.0187 0 -0.0700 0 0.3043 0.5000 0.3043 0
- //
- // Columns 12 through 17
- //
- // -0.0700 0 0.0187 0 -0.0030 0
- //b =
- //
- // 0 -1 0 5 0 -18 0 78 128 78 0 -18 0 5 0 -1 0
- //-------------------------------------
- wire[7:0] delay_out1,delay_out2,delay_out3,delay_out4,delay_out5,delay_out6,delay_out7,delay_out8,delay_out9,delay_out10,delay_out11,delay_out12,delay_out13,delay_out14,delay_out15,delay_out16;
- wire[15:0] MULT_data1,MULT_data2,MULT_data3,MULT_data4,MULT_data5,MULT_data6,MULT_data7,MULT_data8,MULT_data9,MULT_data10;
- //-------------------------------------
- delay delay
- (
- .clk(clk),
- .rst_n(rst_n),
- .delay_in(HB_in), //0
- .delay_out1(delay_out1), //-1
- .delay_out2(delay_out2), //0
- .delay_out3(delay_out3), //5
- .delay_out4(delay_out4), //0
- .delay_out5(delay_out5), //-18
- .delay_out6(delay_out6), //0
- .delay_out7(delay_out7), //78
- .delay_out8(delay_out8), //128
- .delay_out9(delay_out9), //78
- .delay_out10(delay_out10), //0
- .delay_out11(delay_out11), //-18
- .delay_out12(delay_out12), //0
- .delay_out13(delay_out13), //5
- .delay_out14(delay_out14), //0
- .delay_out15(delay_out15), //-1
- .delay_out16(delay_out16) //0
- );
- //-------------------------------------
- MULT MULT1//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out1),
- .data_in2(8'b1111_1111), //-1
- .Out(MULT_data1)
- );
- //-------------------------------------
- MULT MULT2//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out3),
- .data_in2(8'b0000_0101), //5
- .Out(MULT_data2)
- );
- //-------------------------------------
- MULT MULT3//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out5),
- .data_in2(8'b1110_1110), //-18
- .Out(MULT_data3)
- );
- //-------------------------------------
- MULT MULT4//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out7),
- .data_in2(8'b0100_1110), //78
- .Out(MULT_data4)
- );
- //-------------------------------------
- MULT MULT5//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out8),
- .data_in2(8'd0111_1111), //128
- .Out(MULT_data5)
- );
- //-------------------------------------
- MULT MULT6//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out9),
- .data_in2(8'b0100_1110), //78
- .Out(MULT_data6)
- );
- //-------------------------------------
- MULT MULT7//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out11),
- .data_in2(8'b1110_1110), //-18
- .Out(MULT_data7)
- );
- //-------------------------------------
- MULT MULT8//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out13),
- .data_in2(8'b0000_0101), //5
- .Out(MULT_data8)
- );
- //-------------------------------------
- MULT MULT9//乘法器
- (
- .clk(clk),
- .rst_n(rst_n),
- .data_in1(delay_out15),
- .data_in2(8'b1111_1111), //-1
- .Out(MULT_data9)
- );
- //-------------------------------------
- ADD ADD//加法器
- (
- .clk(clk),
- .rst_n(rst_n),
-
- .MULT_data1(MULT_data1),
- .MULT_data2(MULT_data2),
- .MULT_data3(MULT_data3),
- .MULT_data4(MULT_data4),
- .MULT_data5(MULT_data5),
- .MULT_data6(MULT_data6),
- .MULT_data7(MULT_data7),
- .MULT_data8(MULT_data8),
- .MULT_data9(MULT_data9),
- // .MULT_data10(MULT_data10[15:8]),
- .ADD_data(HB_out)
- );
- //-------------------------------------
- //-------------------------------------
- endmodule
复制代码 这是我的verilog代码,应该不会有什么理解上的错误吧... |
|