是關於雷達干擾的干擾訊號。整個專案在matlab上模擬,但是關於這個訊號,不知道怎麼編寫,式子中的U(t)能否用randn函式?
也就是說,噪聲調頻訊號具有如下的瞬時頻率:
f(t)=f0+KFM*u(t)
% 摘自《資訊時代的電子戰》(29所)
% 1。產生高斯噪聲電壓
% 2。用6極點橢圓濾波器形成噪聲頻寬
% 3。將濾波器輸出送到一壓控震盪器,輸出即為調頻噪聲干擾訊號
clf;
clc;
close all;
clear all;
N = 4096;
tmax = 1/2;
t = 2*tmax*(-N/2:N/2-1)/N;
fs= N/2/tmax;
n = rand(1,N);
subplot(2,2,1);plot(t,n);grid;
xlabel(‘Time’);ylabel(‘Noise Voltage’);
title([‘Gaussian Noise Voltage’]);
y = erf(n);
[b,a] = ellip(6,。5,。5,。005);
v = filter(b,a,n);
verf = filter(b,a,y);
f0 = 0;k = 50; j=sqrt(-1);
f= f0 + k*v;
f1 = f0 + k*verf;
x = cos(2*pi*f。*t) + j*sin(2*pi*f。*t);
xerf = cos(2*pi*f1。*t) + j*sin(2*pi*f1。*t);
V = fft(v);
Pv = V。*conj(V);
Pv = fftshift(Pv);
X = fft(x);XE = fft(xerf);
Px = X。*conj(X);
Pxe = XE。*conj(XE);
Px = fftshift(Px);
Pxe = fftshift(Pxe);
Px = Px/max(Px);Pv = Pv/max(Pv);Pxe = Pxe/max(Pxe);
Pxdbm = 30 + 10*log10(Px+1e-6);
Pvdbm = 30 + 10*log10(Pv+1e-6);
Pxedbm = 30 + 10*log10(Pxe+1e-6);
fsam = fs*(-N/2:N/2-1)/N;
subplot(2,2,2);
plot(fsam,Pvdbm);grid;
subplot(2,2,3);
plot(fsam,Pxdbm);grid;
subplot(2,2,4);
plot(fsam,Pxedbm);grid;