用FPGA CORDIC IP核实现信号的相位检测
1.matlab仿真
波形仿真代码:
代码功能:生成一个点频信号s,求出s的实部和虚部;并且结算相位角atan2。画出图形,并且将Q和I数据写入文件中。
%代码功能:生成一个点频信号s,求出s的实部和虚部;并且结算相位角atan2。画出图形,并且将Q和I数据写入
clc; clear;close all;
F1=1; %信号频率
Fs=65536; %采样频率 Fs=N,能采一个周期
P1=45; %信号初始相位(单位:°),90-cos函数
N=65536; %采样点数
t=[0:1/Fs:(N-1)/Fs]; %采样时刻
A=2^15-1; %信号幅度
%生成点频信号
s=A*exp(1i *(2*pi*F1*t + pi*P1/180));
% IQ分解,分别提取实部和虚部
I = real(s);
Q = imag(s);
% 计算相位角
phase = atan2(Q, I);
% 提取初始相位(t=0处的相位值)
initial_phase = phase(1);
%显示初始相位值,将其转换为π的倍数进行显示
disp(['初始相位值:', num2str(initial_phase/pi),'pi']);
% 绘制结果图,画出signal信号的实部和虚部
figure;
subplot(3,1,