高手帮忙 谢谢!!!verilog实现ASK与 fsk

2024-12-29 16:53:56
推荐回答(1个)
回答1:

LZ,ASK 没理解错的话,应该是振幅键控调制、?

fsk 是频率键控调制?

不知道LZ想要什么样的调制方法?欧式距离是2还是其他???

我这里可以实现2-ask 和2-fsk的调制和解调。。。。

不过还是希望LZ 自己写。。。

2-ask 调制

module two_ask(clk,rst,x,y);
input clk,rst,x;
output y;

reg[1:0] cnt;
reg car;

always @ (posedge clk)
begin
if(!rst)
begin
cnt<=2'b0;
car<=0;
end
else begin
if(cnt==2'b11)
begin
cnt<=2'b00;
car<=~car;
end

else begin
car<=car;
cnt<=cnt+1;
end
end
end

assign y=x&car;
endmodule

2-ask 解调

module two_ask(rst,clk,x,y);
input clk;
input rst;
input x;
output y;

reg y;

reg[2:0] cnt;
reg[2:0] m;

always @(posedge clk)
begin
if(!rst) begin
cnt<=3'b000;
end
else if(cnt==3b111)
cnt<=3'b000;
else cnt<=cnt+1;
end

always @(posedge clk)
beign
if(!rst)
begin
m<=3'b000;
end
else beign
if(cnt==3'b111)
begin
if(m<=3'b010)
y<=0;
else
y<=1'b1;
m<=3'b000;
end
else
m<=m+1;
end
end
endmodule

哪里错误???
提示一下

我又重新理解了一下LZ的要求:
就是做个ASK-FSK的转化模块
先写个ASK的,然后写个FSK的,2个合起来就是顶层模块,然后对顶层模块仿真即可