1.我的程序代码:
clear all; close all; clc;
%% 瞬态信号建模
fs = 1000; % 采样频率1000Hz
ts = 1 / fs; % 采样时间间隔1ms
t = 0 : ts : 1; % 采样时间。每隔1ms采一次,采样1s
L = length(t); % 信号长度1000
f0 = 10 ; %信号频率10Hz
s = sin(2 * pi * f0 * t); % 原始正弦信号
sigma=0.1;
n=normrnd(0,sigma,1,L); %生成0均值,标准差为0.1的高斯白噪声
s =s+n; % 添加噪声
t1=0.4;
t2=0.8; %瞬态信号位置
x1=zeros(size(t)); %生成一个与t同大小的0矩阵
x1(t1fs)=1;
x1(t2fs)=2; %瞬态信号幅值
s=s+x1; %添加瞬态信号
figure(1);
plot(t,s)
xlabel('时间/s');ylabel('幅值');
title('含噪的瞬态信号'); %时域波形
%% 连续小波变换(CWT)
figure(2)
cw1 = cwt(s,1:32,'sym2','plot'); % 对信号做连续小波变换,并作出系数图像
title('连续小波变换系数图');
%% 离散小波变换(DWT)
[d,a]=wavedec(s,3,'db4'); %对原始信号进行3层离散小波分解
a3=wrcoef('a',d,a,'db4',3); %重构1-3层近似信号
a2=wrcoef('a',d,a,'db4',2);
a1=wrcoef('a',d,a,'db4',1);
d3=wrcoef('d',d,a,'db4',3); %重构1-3层吗细节信号
d2=wrcoef('d',d,a,'db4',2);
d1=wrcoef('d',d,a,'db4',1);
figure(3);
subplot(411);plot(s);ylabel('原始信号s'); %画出各层小波近似信号
title('小波分解各层近似信号示意图');
subplot(412);plot(a3);ylabel('近似信号a3');
subplot(413);plot(a2);ylabel('近似信号a2');
subplot(414);plot(a1);ylabel('近似信号a1');
xlabel('时间/s');
figure(4)
subplot(411);plot(s);ylabel('原始信号s'); %画出各层小波细节信号
title('小波分解各层细节信号示意图');
subplot(412);plot(d3);ylabel('细节信号d3');
subplot(413);plot(d2);ylabel('细节信号d2');
subplot(414);plot(d1);ylabel('细节信号d1');
xlabel('时间/s');
%% 性能检测
sigPower = sum(abs(s).^2)/length(s); %求出信号功率
noisePower=sum(abs(n).^2)/length(n); %求出噪声功率
SNR_10=10log10(sigPower/noisePower); %由信噪比定义求出信噪比,单位为db
T=sigma(2log10(L))^0.5 %确定阈值
int i=0;
for(i<=100,i++
if abs(d1)
[/code]
2.我的问题:
%% 性能检测
sigPower = sum(abs(s).^2)/length(s); %求出信号功率
noisePower=sum(abs(n).^2)/length(n); %求出噪声功率
SNR_10=10log10(sigPower/noisePower); %由信噪比定义求出信噪比,单位为db
T=sigma(2log10(L))^0.5 %确定阈值
int i=0;
for(i<=100,i++
if abs(d1)
[/code]
我想采集1000个样本,以不同的信噪比组合,每种信噪比组合进行仿真检测运行1000次,检测结果包括相应信噪比下的检测概率和虚警概率,门限按照虚警概率小于%3设定,绘制roc曲线,请问这个程序代码怎么写。