m0_51663194 2021-04-08 13:20 采纳率: 100%
浏览 62
已采纳

基于小波分析的瞬态信号检测器用roc曲线对其检测性能进行评价

1.我已经完成将一瞬态信号进行3层离散小波分解,得到其各层小波分解细节信号,并可以观察出成功检测,但是现在我需要通过绘制roc曲线来对其检测性能进行评估,那如何绘制他的roc曲线?

2.我的想法是以不同的信噪比组合,每种信噪比组合进行仿真检测运行1000次,检测结果包括相应信噪比下的检测概率和虚警概率,门限按照虚警概率小于%1设定,然后绘制出roc曲线,但是我不会,或者有其他绘制roc曲线的方法吗?

3.我的程序代码

[/code

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(t1*fs)=1;               

x1(t2*fs)=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=10*log10(sigPower/noisePower);            %由信噪比定义求出信噪比,单位为db

T=sigma*(2*log10(L))^0.5                   %确定阈值]

问题位置:%%性能检测

  • 写回答

4条回答 默认 最新

  • CSDN专家-孙老师 2021-04-08 20:28
    关注

    小波这块不太懂,不过绘制ROC曲线还是有所了解,ROC曲线绘制的是真正例率和假正例率的曲线,也就是说需要知道样本的类别数(正类数和反类数),还需要知道模型的预测值,根据模型的预测值、阈值及样本的类别求出真正例率和假正例率,然后绘制它们的曲线。

    现在,真正例率和假正例率可以求出来吗?

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多