寫了個AM調制的代碼,載波和調制波都做了幅度控制(搞復雜了)
記錄1:
說明:carrier_wave2為 wire signed [9:0] modulate_wave2;
modulate_wave2為wire signed [9:0] modulate_wave2;
wave2_out也是有符號的wire signed [19:0] wave2_out;
這條語句
assign wave2_out=carrier_wave2*(modulate_wave2+256); //好用
換成:
wire [15:0] mod_halfamp3=256;
assign wave2_out=carrier_wave2*(modulate_wave2+mod_halfamp3);
這個寫法就輸出波形不對!
后來修正一下mod_halfamp3為signed就可以了 ,即:wire signed [15:0] mod_halfamp3=256;
看來quartus ii 默認做的是有符號數的運算,原因有待進一步測試。
記錄2:
wire signed [9:0] carrier_wave0;
wire [9:0] modulate_wave0;
wire signed [19:0] wave0_out;
語句assign wave0_out=carrier_wave0*$signed(modulate_wave0);好用
波形為正弦波
換成assign wave0_out=carrier_wave0*modulate_wave0;
波形就變為nunununununu形狀的那種
我是真的真的不明白~~~