线性调频信号

文章介绍了如何在FPGA中利用ROM存储正弦波数据来实现线性调频信号的生成,通过相位量化方法确定所需地址。同时,探讨了使用互相关函数计算两个信号间的相位差,以MATLAB代码为例展示了该过程,并讨论了滤波器在实现互相关功能中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性调频信号

f ( t ) = K ∗ t + f 0 ( 1 ) f(t) = K*t + f_0 (1) f(t)=Kt+f01 f ( t ) f(t) f(t) :瞬时频率, K K K:调频斜率, f 0 f_0 f0 :初始相位。频率随着时间会不断的变化,相位是频率的积分函数,由此我们可以推导出:
φ ( t ) = 1 2 ∗ K ∗ t 2 + f 0 ∗ t ( 2 ) \varphi(t) = \frac{1}{2}*K*t^2 + f_0 * t (2) φ(t)=21Kt2+f0t2 φ ( t ) \varphi(t) φ(t) :瞬时相位
线性调频信号是一个相位不断变化的正弦波,
s ( x ) = s i n ( x )   x 为角度( 3 ) s ( t ) = s i n ( φ ( t ) ) ( 4 ) s ( t ) = s i n ( 1 2 ∗ K ∗ t 2 + f 0 ∗ t ) ( 5 ) s(x) = sin(x) \ x为角度 (3)\\s(t) = sin(\varphi(t)) (4) \\s(t) = sin(\frac{1}{2}*K*t^2 + f_0 * t) (5) s(x)=sin(x) x为角度(3s(t)=sin(φ(t))4s(t)=sin(21Kt2+f0t)5

FPGA实现线性调频信号

在rom里面存储一个正弦波的数据,ROM的地址就可以被量化到相位上:
φ = 36 0 0 d e p t h R O M ∗ a d d r p r e s e n t ( 6 ) \varphi = \frac{360^0}{ depth_{ROM} } * addr_{present} (6) φ=depthROM3600addrpresent6
可以通过(2)、(6)公式推出读取出线性调频信号所需要的地址。

xlinx的DDS输入端输入的是 Δ θ \Delta\theta Δθ:相位的递增量;而quartus的DDS输入的是相位。

用互相关函数算相位差和做匹配滤波

使用互相关函数计算相位差

clc ;
clear ;

%%  signal
A=1;                %amplify
f=10;               %Hz
w=2*pi*f;           %rad/s          rad:弧度的单位

%采样
T=1;                %s        %观测时间
fs=200*f;           %Hz       %采样频率
d=1/fs;             %s        %采样间隔


% t=-T/2:d:T/2;       %离散时间t
t= 0:d:T;             %离散时间t

% y = sin(wt+h)
y1 = A*sin(w*t) ; 
y2 = A*sin(w*t+pi) ;
Cc = xcorr(y1,y2) ;         %求互相关
[y_max , t_max] = max(Cc) ; %最大值的行列索引

pahse = (t_max - (T/d + 1) ) * w*d ;
%(最大值的行坐标-中间值)*点之间的相位间隔

x = 0 :d:2*T ;  
subplot(2,1,1)
plot(t ,y1 ,t ,y2,"--")
subplot(2,1,2)
plot(x ,Cc)

通过滤波器实现互相关的功能
匹配滤波

[1]:罗映霞,马君,朱青松. 基于MATLAB的信号相位差的互相函数求法[J]. 科技情报开发与经济,2003,(07):149-150.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值