lfm.m

来自「线性调频信号的累加器实现」· M 代码 · 共 49 行

M
49
字号
%%%%调频信号的累加器实现
%%%%Grape
clear all; 
clc;    		%清除所有变量,清屏
M  =  2^12;  		%采样的点数
a(1  :  1  :  M)  =  0; %频率累加器的数值
b(1 : 1 : M) = 0;  	%相位累加器的数值
y(1 : 1 : M) = 0;  	%输出的波形数据
K = 400;  		%调频斜率
Kc = 10;  		%初始频率控制字
N = 10;   		%幅度量化位数
L = 24;   		%相位累加器位数

%下面一段实现频率累加器
a(1) = 0.5 * K;  	%初始频率步进量
for i = 2 : 1 : M
a(i) = a(i - 1) + K; 
end

%下面一段实现相位累加器
b(1) = Kc + a(1);  	%相位初始值
for i = 2 : 1 : M
b(i) = b(i - 1) + (Kc + a(i)); 
end

%下面一段实现了查找表ROM以及进行幅度量化
for i = 1 : 1 : M
y(i) = floor(2^(N) * cos(2 * pi/(2^L) * b(i))); 
end

%下面一段画出相应的图形
figure(1); plot(y); axis([0 M, - 2^N - 100 2^N + 100]); 
figure(2); freqz(y)

%下面一段实现相位累加器
b(1) = Kc + a(1);  	%相位初始值
for i = 2 : 1 : M
b(i) = b(i - 1) + (Kc + a(i)); 
end

%下面一段实现了查找表ROM以及进行幅度量化
for i = 1 : 1 : M
y(i) = floor(2^(N) * cos(2 * pi/(2^L) * b(i))); 
end

%下面一段画出相应的图形
figure(1); plot(y); axis([0 M, - 2^N - 100 2^N + 100]); 
figure(2); freqz(y)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?