数字信号处理课设语音信号的数字水印技术.docx

上传人:wj 文档编号:587124 上传时间:2023-04-29 格式:DOCX 页数:21 大小:325.50KB
下载 相关 举报
数字信号处理课设语音信号的数字水印技术.docx_第1页
第1页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第2页
第2页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第3页
第3页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第4页
第4页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第5页
第5页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第6页
第6页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第7页
第7页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第8页
第8页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第9页
第9页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第10页
第10页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第11页
第11页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第12页
第12页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第13页
第13页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第14页
第14页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第15页
第15页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第16页
第16页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第17页
第17页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第18页
第18页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第19页
第19页 / 共21页
数字信号处理课设语音信号的数字水印技术.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字信号处理课设语音信号的数字水印技术.docx

《数字信号处理课设语音信号的数字水印技术.docx》由会员分享,可在线阅读,更多相关《数字信号处理课设语音信号的数字水印技术.docx(21页珍藏版)》请在冰点文库上搜索。

数字信号处理课设语音信号的数字水印技术.docx

格式说明:

老师说了格式不对的不给过,直接延期到15号,并且单独找周老师答辩检查报告

1.封皮:

用模板封皮不要改动,把自己的课题信息更改,封皮没有页眉,只有正文才有页眉。

2.大家都把目录删掉,统一格式

3.注意标题不能自动套用格式,需要大家手动修改,

一级标题三号黑体,前后各有0.5行的行间距,数字后面用“.”不能用“、”例如:

1.课程设计任务

二级标题小三黑体,前后各有0.5行的行间距,数字后面用空格例如

2.1语音信号处理综述

三级标题四号黑体,前后各有0.5行的行间距,数字后面用空格例如

2.1.1语音信号处理综述

最多只有三级标题,不能出现四级标题。

其他项目需要用标号如:

(1)、

(2)、(3)

a、b、c

A、B、C

4.图片、表格居中,图片下需要有标题,表格上需要有标题,五号宋体,标题也要居中如:

图1XXX

图表不要超出页眉版线。

5.规范流程图画法,不能用简单的框图

6.参考文献必须用中文字,英文标点,参考文献标题必须用[1]。

例如

[2] 钟麟,王峰.MATLAB仿真技术与应用教程[M].国防工业出版社,2005-3.

7.最后一页必须有成绩评定表,模板里有

8.每一页中最后不能有大空白,就算有图片也必须把空白填上,可以把图片后面文字提前。

但是图片和图片下的题目必须在同一页。

数字信号处理

课程设计报告

课设题目:

语音信号的数字水印技术学 院:

信息与电气工程学院

专 业:

电子信息工程班 级:

1102502

姓 名:

柳立志

学 号:

110250208

指导教师:

周志权、赵占锋

哈尔滨工业大学(威海)

2015年1月5日

哈尔滨工业大学(威海)课程设计报告

-I-

1.课程设计任务

在保密数据传递等应用中,有时采用将一句话或一段文字或一段音乐隐藏在另一段音乐中,然后利用专门的算法来提取所传的信息,这种方法也称为数字水印技术。

这种方法的好处是信息隐藏在极为平常的声音或其它媒介中,不易被察觉。

1)利用语音获取设备获取需要传送的保密语音信号;

2)选择用于传输保密语音信号的普通声音载体,可以是广为流传的歌曲、音乐或其他声音文件;

3)采用数字水印技术进行信息处理,这个处理过程可以选用多种方式,可查阅参考相应文献,最简单的办法就是将需要传送的语音信号的每一个比特分别加入到载体信号每一个采样的最低位,这样对载体信号的影响最小,保密信息也可以被简单的提取。

同时也可以考虑在频域对其进行处理;

4)对加入水印信息的文件及未加之前文件的频域及时域信号进行对比,分析其影响;

5)对加入水印信息的文件进行各种滤波处理,然后再对其进行水印提取,观察其结果;

6)编制用户界面。

2.课程设计原理及设计方案

2.1数字水印技术

数字水印就是指嵌入到被保护对象(如静止图像、音频、视频)中的某些能够证明其版权归属的数字信息,可以是作者的姓名、序列号、公司标志等等。

数字水印技术有着其固有的特点与研究方法。

例如,从信息安全保密角度而言,隐藏的信息如果被破坏掉,系统可以视为安全的,因为秘密信息并未泄漏,但是,在数字水印系统中,隐藏信息的丢失意味着版权信息的丢失,从而失去了版权保护的功能。

因此数字水印系统必须具有较强的鲁棒性、安全性、透明性等特点:

透明性(隐藏性):

经过一系列隐藏处理,目标数据必须没有明显的降质现象,隐藏的数据无法人为的看见或听见。

1)鲁棒性:

指抗拒各种处理操作和恶意攻击而不导致水印信息丢失的能力。

所谓的操作包括:

传输过程中的信道噪声、滤波、增强有损压缩、几何变换、

D/A或A/D转换等等。

所谓的攻击包括:

篡改、伪造、去除水印等等。

数字水印起源于信息隐藏技术,这一点可以从它的隐藏性要求得到证实。

2)安全性:

指将水印信息隐藏于目标数据的内容之内,而非文件头等处,防

1

止因格式转换而遭到破坏。

3)无歧义性:

恢复出的水印或水印判决的结果应该能够确定地表明所有权,不会发生多重所有权的纠纷。

4)通用性:

好的水印算法适用于多种文件格式和媒体格式。

通用性在某种程度上意味着易用性。

但数字水印技术并不等同于信息隐藏技术,两者的区别在于对鲁棒性的要求上。

信息隐藏的鲁棒性要求可以降低,也就是说在数据经过改动后允许隐藏信息的丢失,信息隐藏主要是关注隐藏信息的检测,而数字水印主要关注被盗版者擦除的可能性。

数字水印必须能在一定限度内承受各种攻击而留存下来,这样才能实现有意义的版权保护。

在音频中加入水印,要考虑到音频载体信号的在人类听觉系统、音频格式以及传送环境等方面的特点。

与图像和视频相比,音频信号在相同的时间间隔内采样的点数少。

这使得音频信号中可嵌入的信息量要比可视媒体也要少。

并且由于人耳听觉系统(HAS)要比人眼视觉系统(HVS)敏感得多,因此听觉上的不可知觉性实现起来要比视觉上困难得多。

2.2离散小波变换

小波变换是由法国科学家Morlet于1980年进行地震分析工作时提出的,但小波变换研究的热潮始于1986年。

小波变换优于傅立叶变换的主要原因在于它的多分辨率特性,它可以针对不同信号变换而进行窗口的伸缩变化。

加窗傅立叶变换可以形象地看成是固定尺寸的矩形时频窗口在时频域中滑动,并透过这个窗口来“观察”信号。

这种固定矩形窗口的观察方法与人们期望的观察不太一致。

例如,对一个高频成分丰富的信号,即变化很快的信号,最感兴趣的问题是它的发生时间,而对其频率则不要求知道的很准确;但是对一个变化很慢的信号,被关注的是频率,而对时间范围则不要求很精细。

小波分析适应这种要求,它可以对高频成分使用大的频域窗口、小的时域窗口,而对于低频成分采用小的频域窗口、大的时域窗口。

1988年,Mallat受到塔式算法的启发,在多分辨率分析的指导下建立了

Mallat算法,对小波变换的实际应用具有划时代的意义。

Mallat算法本质上不

17

需要知道尺度函数F(t)

和小波函数Y(t)

的具体结构,只由系数h和g就可

以实现信号的分解与重构,因此也称为快速小波变换。

利用快速小波变换,选择一定的小波函数对输入信号进行一定尺度的分解,得到这个尺度下信号的高频部分和低频部分,在一个尺度下,高频部分和低频部分包含了完全恢复上一尺度下信号的全部信息。

这种分解如果重复进行,就得到了信号的多尺度分解,从而得到了信号的多层小波系数,即信号的低频系数和一系列的高频系数。

对于大多数信号来说,低频部分给出了信号的特征,往往是最重要的,而高频部分则与噪音及扰动联系在一起。

将信号的高频部分去掉,信号的基本特征仍然可以保留。

所以,一般的信号处理都是针对这部分来进行的。

因此,在信号分析中,经常会提到信号的近似部分与细节部分。

近似主要是系统全局的、低频的部分,而细节往往是信号局部、高频的成分。

将信号分解成一个个互相正交小波函数的线性组合,可以展示信号的重要特性,但这并不是小波分析的全部。

小波分析另一个重要的方面就是分析、比较、处理(如去掉高频信号、加密等)小波系数后,根据新得到系数去重构信号。

这个过程称之为逆离散小波变换(IDWT),或小波重构、合成等。

2.3设计方案

2.3.1水印嵌入

设A是原始音频信号,根据音频文件类型将它分为两部分

A=AH+AL

其中:

AH 是与文件类型相关的部分,所以保留下来不做处理;AL是可以嵌入水印的部分,长度是L,它可以表示为

A={a(l),0£l

其中a(l)是AL第I个数据的幅值。

1)假设水印是长度LS的音频文件,用ls表示:

ls={ls(j),0£j

2)水印分段操作:

因为原音频信号进行小波变换后,利用量化的方法将其分段,所以讲水印音频也进行相应的分段,最后对应相加。

N=L/LS

这里水印分段不一定取得正数段,所以对其取整,将余数归为最后一段。

3)原始音频信号的一维离散小波变换:

选择合适的小波基进行一维小波三级分解。

DL=DWT(AL)=cA3ÅcD3ÅcD2ÅcD1

其中:

cA3和cD3是三级分解的近似分量和细节分量;cD2和cD1是二级和一级小波分解的细节分量。

由于小波分解的近似分量是信号的低频部分,往往是最重要的,水印嵌入在这部分可以增强水印的稳健性。

因此,提取这部分小波系数来进行下一步的变换。

4)特征区的检测:

因为离散余弦变换的中低频系数集中了信号的大部分特征,同时也是数值较大的部分,所以将水印信号嵌入在此,一是水印的嵌入对其影响不大;二是水印的稳健性也会加强。

因此,通过排序将满足水印长

度的最大的离散余弦系数作为嵌入水印的特征点。

设这些点所组成的序列为

Ck={MAX(CL’),0£k£K}

5)水印信号的嵌入:

这里通过修改系数来进行水印的嵌入,设C*为嵌入水印后的音频信号

* ìCk(1+a)if v(k)=1

Ck=í

(+a)if

v(k)=0

(0≤k≤K)

îCk1

这里的a是大于0的比例因子,通过调节它的大小,在具有听觉不可见性的同时,保证所嵌入的水印信息强度足够大,便于水印信息的正确提取。

在此期间其他的离散余弦系数值不变。

6)离散小波逆变换:

以C*’代替5式的cA3作离散小波变换,得到嵌入水印后的小波变换域的表示式为

D’L=C*’ÅcD3ÅcD2ÅcD1

将其倒置



A’L=D

将A’L代替AL最终得到含有水印的音频信号

Aw=AH+A’L

最后将其输出。

2.3.2水印提取

1)读取嵌入水印的音频信号。

对信号进行三级小波分解,再次提取其低频分量ca31和其他主要分量cd31、cd21、cd11。

2)读取原音频信号,对进行一级小波分解,读取低频分量ca3。

3)对低频分量ca31和ca3进行分段,使用嵌入算法中分段的方式,找到水印嵌入的数据点。

使用嵌入水印音频信号的低频分量减去元信号低频分量,即可得到原水印信号c3。

c3=ca31–ca3

2.4算法的流程图

置乱

数字水印信号

数据嵌入

特征点检测

源数字音频信号

小波D

级分量

其他D级小分量

分段

嵌入水印点的音频

分段

图2-1算法的流程图

3.课程设计的步骤及结果

3.1读入原始信号

clareset;

Fs=44100;

FILE1='Rihanna-TakeABow.wav';

[y,Fs,bits]=wavread(FILE1);%音频信号y,采样率fs,采样精度bitsy_fft=fft(y,Fs);

y_fft_f=2*sqrt(y_fft.*conj(y_fft));axes(handles.axes1);

plot(y);gridon;axistight;

title('原始音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');

axes(handles.axes2);plot(y_fft_f);gridon;axistight;

title('原始音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');

sound(y,Fs);%播放原始语音

3.2读取原始音频

clareset;

Fs=44100;

FILE1='Rihanna-TakeABow.wav';

[y,Fs,bits]=wavread(FILE1);%音频信号y,采样率fs,采样精度bits

%用db4小波对原始音频信号进行3级小波分解

[c,l]=wavedec(y,3,'db4');%3级小波分解,低频部分为相似,高频部分为细节

%提取3级小波分解的低频系数和高频系数

ca3=appcoef(c,l,'db4',3);%提取三级小波分解的最低频分

cd3=detcoef(c,l,3);%提取三级小波分解的次低频分cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);

x=ca3;%提取三级小波分解的最低频部分

%找到插入位置,检测特征点s=max(abs(x))*0.2;i=find(abs(x)>s);lx=length(x(i));

%读取水印音频FILE2='test_new.wav';[mark,Fs,bits]=wavread(FILE2);mark=mark(1:

lx);mark_fft=fft(mark,Fs);

mark_fft_f=2*sqrt(mark_fft.*conj(mark_fft));axes(handles.axes1);

plot(mark);

gridon;axistight;

title('水印音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');axes(handles.axes2)

plot(mark_fft_f);gridon;axistight;

title('水印音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');sound(mark,Fs);

3.3水印嵌入

clareset;

Fs=44100;

FILE1='Rihanna-TakeABow.wav';

[y,Fs,bits]=wavread(FILE1);%音频信号y,采样率fs,采样精度bits

%用db4小波对原始音频信号进行3级小波分解

[c,l]=wavedec(y,3,'db4');%3级小波分解,低频部分为相似,高频部分为细节

%提取3级小波分解的低频系数和高频系数

ca3=appcoef(c,l,'db4',3);%提取三级小波分解的最低频分

cd3=detcoef(c,l,3);%提取三级小波分解的次低频分cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);

x=ca3;%提取三级小波分解的最低频部分

%找到插入位置,检测特征点s=max(abs(x))*0.2;i=find(abs(x)>s);lx=length(x(i));

%读取水印音频FILE2='test_new.wav';[mark,Fs,bits]=wavread(FILE2);mark=mark(1:

lx);

%水印信号嵌入ss=mark(1:

lx);rr=ss*0.02;x(i)=x(i).*(1+rr');

%小波重构,生成加入了水印信号的音频信号c1=[x',cd3',cd2',cd1'];

s1=waverec(c1,l,'db4');

%把加入了水印的原始音频信号作为final1.wav保存FILE3='final1.wav'

y1_fft_f=2*sqrt(y1_fft.*conj(y1_fft));axes(handles.axes1);

plot(y1);gridon;axistight;

title('嵌入水印后的原始音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');axes(handles.axes2);plot(y1_fft_f);gridon;axistight;

title('嵌入水印后的原始音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');ly1=length(y1);y1=y1(1:

0.5*ly1);

sound(y1,Fs);

3.4水印提取

clareset;

Fs=44100;

FILE1='Rihanna-TakeABow.wav';

[y,Fs,bits]=wavread(FILE1);%音频信号y,采样率fs,采样精度bits

%用db4小波对原始音频信号进行3级小波分解

[c,l]=wavedec(y,3,'db4');%3级小波分解,低频部分为相似,高频部分为细节

%提取3级小波分解的低频系数和高频系数

ca3=appcoef(c,l,'db4',3);%提取三级小波分解的最低频分

cd3=detcoef(c,l,3);%提取三级小波分解的次低频分cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);

x=ca3;%提取三级小波分解的最低频部分

%找到插入位置,检测特征点s=max(abs(x))*0.2;i=find(abs(x)>s);lx=length(x(i));

%读取含有水印的原始音频FILE3='final1.wav';[y1,Fs1,bits1]=wavread(FILE3);

%用db4小波对含有水印的原始音频信号进行3级小波分解[c1,l1]=wavedec(y1,3,'db4');

%提取3级小波分解的低频系数和高频系数ca31=appcoef(c1,l1,'db4',3);cd31=detcoef(c1,l1,3);cd21=detcoef(c1,l1,2);cd11=detcoef(c1,l1,1);

x1=ca31;

%水印信号提取z(i)=x1(i)-x(i);

s2=z(i)./x(i)';s2=s2/0.02;

%把提取的水印信号作为final2.wav保存FILE4='final2.wav';wavwrite(s2,Fs,bits,FILE4);[mark1,Fs,bits]=wavread(FILE4);mark1_fft=fft(mark1);

mark1_fft_f=2*sqrt(mark1_fft.*conj(mark1_fft));axes(handles.axes1)

plot(mark1);gridon;axistight;

title('提取出的水印音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');axes(handles.axes2);plot(mark1_fft_f);gridon;axistight;

title('提取出的水印音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');sound(mark1,Fs);

3.5低通滤波

%读取含有水印的原始音频FILE3='final1.wav';[y1,Fs,bits]=wavread(FILE3);[b,a]=butter(1,0.1);s3=filtfilt(b,a,y1);

%把经过滤波后的含有水印的原始音频信号作为final3.wav保存FILE5='final3.wav';

wavwrite(s3,Fs,bits,FILE5);

[y_filter,Fs,bits1]=wavread(FILE5);y_filter_fft=fft(y_filter);axes(handles.axes1);plot(y_filter);gridon;axistight;

title('经过滤波后的含有水印的原始音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');axes(handles.axes2);plot(y_filter_fft);gridon;axistight;

title('经过滤波后的含有水印的原始音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');ly2=length(y_filter);y_filter=y_filter(1:

0.5*ly2);sound(y_filter,Fs);

3.6低通滤波后提取水印

clareset;

Fs=44100;

FILE1='Rihanna-TakeABow.wav';

[y,Fs,bits]=wavread(FILE1);%音频信号y,采样率fs,采样精度bits

%用db4小波对原始音频信号进行3级小波分解

[c,l]=wavedec(y,3,'db4');%3级小波分解,低频部分为相似,高频部分为细节

%提取3级小波分解的低频系数和高频系数

ca3=appcoef(c,l,'db4',3);%提取三级小波分解的最低频分

cd3=detcoef(c,l,3);%提取三级小波分解的次低频分cd2=detcoef(c,l,2);

cd1=detcoef(c,l,1);

x=ca3;%提取三级小波分解的最低频部分

%找到插入位置,检测特征点s=max(abs(x))*0.2;i=find(abs(x)>s);lx=length(x(i));

%读取经过滤波后的含有水印的原始音频FILE5='final3.wav';[y_filter,Fs,bits1]=wavread(FILE5);

%用db4小波对经过滤波后的含有水印的原始音频信号进行3级小波分解

[c2,l1]=wavedec(y_filter,3,'db4');

%提取3级小波分解的低频系数和高频系数ca32=appcoef(c2,l1,'db4',3);cd32=detcoef(c2,l1,3);

cd22=detcoef(c2,l1,2);cd12=detcoef(c2,l1,1);x2=ca32;

%水印信号提取z(i)=x2(i)-x(i);

s3=z(i)./x(i)';s3=s3/0.02;

%把提取的水印信号作为final4.wav保存FILE6='final4.wav';wavwrite(s3,Fs,bits,FILE6);[mark_filter,Fs,bits1]=wavread(FILE6);mark_filter_fft=fft(mark_filter);axes(handles.axes1);

plot(mark_filter);gridon;axistight;

title('经过滤波器处理后提取的水印音频信号的时域波形');

xlabel('time(s)');ylabel('幅度');axes(handles.axes2);plot(mark_filter_fft);gridon;axistight;

title('经过滤波器处理后提取的水印音频信号的频域波形');

xlabel('f(Hz)');ylabel('幅度');sound(mark_filter,Fs);

3.7界面的设计

1)在Commandwindow窗口下输入guide命令,并回车;

2)在CreatNewGUI界面下选择BlankGUI(Default),点击OK;

3)在新的界面下,点击Axe按钮,生成一个区域,再点击PushB

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2