上一个章节对时限正弦信号进行了基础信号分析,这一章,继续分析其中的一些重要特性。
如何区分两个频率相同,初相不同的两个信号,如下图所示:

上述两个信号的频率是相同的,我们对上述两个信号进行FFT,得到幅频特性,如下图所示
上图表明,两者具有相同的幅频特性,因此从幅频特性上,无法区分这两个信号。但频谱分析,除了从幅频特性出发,还可以从相频特性出发,我们得到两个信号的相频特性曲线如下图所示:
上图结果表明,尽管两个信号的幅频特性一致,但是两个信号的相频特性是不同的,因此我们可以从相频率特性上区分这两个信号,而且相频特性具有奇对称的特点。我们再来关注下频率点对应的相位:对于初相为0的正弦信号,10Hz的地方,相位为-90°;对于初相为pi/3的正弦信号,10Hz的地方,相位为-30°。
因此,对于正弦信号而言:幅频特性中对应的峰值点的相位,实际上与信号的初始相位有关,且等于初始相位-90°。而实际上,对于余弦信号的表达形式,幅频特性峰值点对应的相位实际上就等于信号的初始相位。
另外的一个问题在于:
如果一个接收信号中,包含了两个正弦回波信号,那么我们信号的截取时长需要为多长,才能从频谱上将这两个信号区分开呢?
比如,对于信号:
我们的信号持续时间Tc究竟取多长,从频谱上才能将两者区分开来?
我们截取不同长度的信号进行FFT,进行信号频谱分析:
1 信号S信号持续时长0.1s。
对上述信号进行FFT,得到幅频特性如下图:
上图结果中,零频以上只有一个峰,实际上是两个峰混叠在一起了,我们无法将这两个频率区分开。
2 信号S信号持续时长0.5s。
对上述信号进行FFT,得到幅频特性如下图:
上图中,零频以上有两个峰,可见,从频谱上这两个信号可以区分。那么,信号持续时间取多长?,两个信号才能区分开呢?答案是:
其中:
即,信号的持续时间与混合信号频率的差值有关。只有当满足上述关系的时候,才能将两个信号从频谱上区分开。
以上分析的matlab代码如下:
1 %% 正弦信号频谱分析
2 clear
3 close all
4 clc
5 %% signal
6 A=1; %幅度
7 f=10; %频率
8 w=2*pi*f; %
9 p=0; %相位
10 %采样
11 T=1; %s %观测时间
12 fs=20*f; %Hz %采样频率
13 d=1/fs; %s %采样间隔
14 t0=-T/2:d:T/2; %离散时间t
15 s1=A*cos(w*t0+p); %正弦信号
16 figure(1)
17 plot(t0,s1);
18 title(\'s=sin(20\pit)\')
19 xlabel(\'时间/s\');
20 ylabel(\'幅度\');
21 %% FFT
22 NFFT = length(t0);
23 FFTres = fftshift(fft(s1,NFFT));
24 FFTAmu = abs(FFTres);
25 ft=(-NFFT/2:NFFT/2-1)*fs/NFFT; %频率序列
26 % 求幅频曲线
27 figure(2)
28 plot(ft,FFTAmu)
29 title(\'s=sin(20\pit)\')
30 xlabel(\'频率/Hz\');
31 ylabel(\'幅度\');
32 % 求幅相曲线
33 FFT_phase = angle(FFTres)*180/pi;
34 figure(3)
35 plot(ft,FFT_phase)
36 title(\'s=sin(20\pit)\')
37 xlabel(\'频率/Hz\');
38 ylabel(\'相位/角度制\');
39 %% 变换信号的初相
40 %% signal1
41 A=1; %幅度
42 f=10; %频率
43 w=2*pi*f; %
44 p=pi/3; %相位
45 %采样
46 T=1; %s %观测时间
47 fs=20*f; %Hz %采样频率
48 d=1/fs; %s %采样间隔
49 t0=-T/2:d:T/2; %离散时间t
50 s1=A*cos(w*t0+p); %正弦信号
51 figure(4)
52 plot(t0,s1);
53 title(\'s=sin(20\pit+\pi/3)\')
54 xlabel(\'时间/s\');
55 ylabel(\'幅度\');
56 %% FFT
57 NFFT = length(t0);
58 FFTres = fftshift(fft(s1,NFFT));
59 FFTAmu = abs(FFTres);
60 ft=(-NFFT/2:NFFT/2-1)*fs/NFFT; %频率序列
61
62 % 求幅频曲线
63 figure(5)
64 plot(ft,FFTAmu)
65 title(\'s=sin(20\pit+\pi/3)\')
66 xlabel(\'频率/Hz\');
67 ylabel(\'幅度\');
68 % 求幅相曲线
69 FFT_phase = angle(FFTres)*180/pi;
70 figure(6)
71 plot(ft,FFT_phase)
72 title(\'s=sin(20\pit+\pi/3)\')
73 xlabel(\'频率/Hz\');
74 ylabel(\'相位\');
75
76 %% 将两个信号区分开来持续时长
77 %% 处理接收两路的回波信号
78 A=1; %幅度
79 f1=10; %频率
80 f2=15;
81 w1=2*pi*f1;
82 w2=2*pi*f2;
83 p=0;
84 %采样
85 Tc=1/10; %s %观测时间
86 fs=20*f2; %Hz %采样频率
87 d=1/fs; %s %采样间隔
88 t0=-Tc/2:d:Tc/2; %离散时间t
89 s1=A*cos(w1*t0+p)+A*cos(w2*t0+p); %正弦信号
90 figure(7)
91 plot(t0,s1);
92 title(\'s=sin(20\pit)+s=sin(30\pit)\')
93 xlabel(\'时间/s\');
94 ylabel(\'幅度\');
95
96 % 观察时长为1/10s
97 FFTres = fftshift(fft(s1,NFFT));
98 FFTAmu = abs(FFTres);
99 ft=(-NFFT/2:NFFT/2-1)*fs/NFFT; %频率序列
100 figure(8)
101 plot(ft,FFTAmu)
102 title(\'信号观测时长T =1/10s\')
103
104 %观测时长为1/2s
105 Tc=1/2; %s %观测时间
106 fs=20*f2; %Hz %采样频率
107 d=1/fs; %s %采样间隔
108 t0=-Tc/2:d:Tc/2; %离散时间t
109 s1=A*cos(w1*t0+p)+A*cos(w2*t0+p); %正弦信号
110
111 figure(9)
112 plot(t0,s1);
113 title(\'s=sin(20\pit)+s=sin(30\pit)\')
114 xlabel(\'时间/s\');
115 ylabel(\'幅度\');
116
117 FFTres = fftshift(fft(s1,NFFT));
118 FFTAmu = abs(FFTres);
119 ft=(-NFFT/2:NFFT/2-1)*fs/NFFT; %频率序列
120
121 figure(10)
122 plot(ft,FFTAmu)
123 title(\'信号观测时长T =1/2s\')
124 %% 对比正弦信号频谱和指数信号频谱