matlab模拟信号受噪声干扰分析,如何用matlab编写噪声调频干扰信号

也就是说,噪声调频信号具有如下的瞬时频率:

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;

全部

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值