【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】

这篇具有很好参考价值的文章主要介绍了【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【语音隐写】基于matlab LSB音频水印嵌入提取【含Matlab源码 3676期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab语音处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab语音处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab语音处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、扩频语音水印简介

1 引 言
数字水印是20世纪90年代发展起来的一项新技术, 它通过在原始的数字信息中, 隐含特定信息 (如身份标志等) , 以确认数字产品的版权, 或验证信息是否属伪造和有害。数字水印一般是加在图像、音频、视频或文本中, 依据使用的目的不同, 水印可分为可见性水印和不可见性水印。随着应用需求的发展, 在特定的应用场合 (如防止通信信号被伪造或识别攻击性信号等) , 需要在通信信号中加入水印信息, 确定所接收的信号是否属于有效信号, 但又不损害原始信号的正常接收和使用。在通信信号中嵌入水印信息的最常见的图像通信和语音通信。本文主要研究的是语音中通信水印信息的嵌入方法。

一般来说, 话音通信的水印应该有如下特性:①不可察觉性, 即加入水印后的语音与原语音信号相比, 对人耳来说应该听不出来, 其处理算法通常是在语音的冗余位置嵌入水印信息, 或利用人耳的掩蔽特性。在扩频通信中, 可利用码字的正交性来达到嵌入水印信息的目的;②鲁棒性, 即未经授权的第三方不能通过一些处理方法, 去除或修改嵌入的水印信息, 或者去除水印信息后, 原语音信号的质量有明显下降;对于常用的处理算法, 如传输、过滤、采样等, 嵌入的水印信息损坏很小, 并在一定的正确概率下可以被检测到;③可靠性, 水印嵌入和检测方法对未授权的第三方而言, 应该是保密且不易破解的, 而合法的使用者, 可通过水印证实其合法性。

语音通信的水印嵌入主要有时域和变换域嵌入两种方式。近年来, 随着扩频技术的发展, 利用扩频方式将水印嵌入到原始信息中, 显示出很大的优越性。同时, 随着抗干扰性、保密性等的要求, 扩频技术已在通信中得到广泛应用[3], 在扩频通信的基础上, 加入扩频水印信息, 不仅容易实现, 而且具有非常优越的性能。

本文提出一种基于扩频通信的水印嵌入模型, 并分析其相关的性能。

2 水印的嵌入模型
扩频通信是将原始信息通过与扩频码 (伪随机码) 进行扩频运算, 使信号被扩频到很宽的频带上, 接收端通过相关运算, 将原始信息还原到原来的带宽, 同时将干扰信号扩展到很宽的频带上, 达到减少干扰信号的功率谱密度, 从而可通过滤波的方法, 提高信噪比的目的。在扩频信号中, 通过采用正交扩频码字, 很容易将水印信号嵌入到原始信号中, 并且具有良好的特性。在扩频信号中嵌入水印信息的框图如图1 所示, 接收端处理如图2所示。
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
图1 发端水印嵌入处理框图
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
图2 接收及水印提取
在发端的情况, 水印信息和语音信息分别被不同的伪码扩频 (正交扩频码, 且码长一样) , 扩频后的信号通过相加器, 叠加在一起, 再经过调制, 送入信道, 类似于多码扩频通信。在接收端, 接收到的信号经过前端滤波后, 分别以信息扩频码和水印扩频码进行解扩、解调输出。由于信息与水印扩频码的正交性, 水印信息直接叠加于原始信号上, 并占用相同的带宽, 相互之间不影响, 达到了透明性要求;同时除非通过解扩频来提取水印, 再进行抵消水印信号, 而传统的任何方法均不能除去水印信号, 从而达到了可靠性的要求;由于扩频系统的本身特性, 传输过程中的干扰, 接收过程中的各种算法均对水印信号信号的影响较小, 故而达到鲁棒性的要求。

在图中数字语音信息记为m (t) , 信息扩频码记为Cm (t) , 水印信息记为w (t) , 水印扩频码记为Cw (t) , 其中Cm (t) 和Cw (t) 正交, 即:
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
式中T为扩频码的周期时间。
发送到信道中的信号为
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
其中, m (t) 、w (t) 、Cm (t) , Cw (t) 都取值{-1, +1}, 则其组合m (t) Cm (t) +w (t) Cw (t) 可能的取值为{-2, 0, +2}, 采用相位调制时, 则相位的变化为{0, π/2, π}。

信号在信道中传输时, 要叠加上噪声和干扰, 记为n (t) , 则到达接收端的信号r (t) 可表示为
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
其中, a为幅度衰减, φ载波相位。为分析简洁, 在式 (3) 中, 我们没考虑传播中的多径效应、衰落和多谱勒效应的影响。

3 性能分析
在假设接收端的载波和扩频本地码均能精确同步的情况下, 分别对原始信息和水印信息进行解扩和解调, 则有:
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
我们考虑解扩频解调后经过低通滤波, 滤除二次谐波及高频分量, 则有:
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
式 (5) 中, 第一项为有用信号的输出, 第二项为水印信号对有用信号的干扰, 第三项为噪声的输出。由于信息扩频码字与水印扩频码字的正交性, 由式 (1) 可知, 式 (5) 的第二项为0, 因此, 嵌入的水印对原始信息没有任何影响, 保证了透明性要求。在实际的应用中, 由于码字不正交, 水印信息对原始信息的接收有一定影响, 但只要信息扩频码与水印扩频码之间的互相关系数足够小, 则其影响可忽略。

同理, 水印信号的解扩解调输出为
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
式 (6) 的第二项为0, 原始信息对水印信息亦不够成影响。
由上述的基本原理可知, 水印信号和信息信号无论在时域、频域还是空间域都混叠在一起, 不能通过滤波及其它数字信号的处理方法将原始信号和水印信号分开, 除非通过解扩频的方法, 恢复出水印信号, 再将它在混合信号中加以抵消, 才能消除水印信号。但由于水印扩频码对第三方是未知的, 所以要获得扩频码信息是非常难的, 尤其是当扩频码足够长时, 破译扩频码的信息几乎是不可能的。因此, 在这样的系统中, 较好地保证了水印信息的鲁棒性。
扩频系统对干扰的抑制程度取决于扩频增益。当扩频增益足够高时, 就可以很好地抑制干扰。因此, 采用扩频的方法, 可以很明显地提高水印信号的可靠性。同时, 由于采用正常的接收处理方式, 只要对有用信号不构成损害, 也就不能对水印信号构成损害。反之, 若损害了水印信号, 必定损害有用信号。
由于扩频码字的正交性, 水印的加入对扩频话音信号的正常接收不产生任何影响, 反之, 话音信号对水印信号亦不能够成任何影响, 非常好地保证了透明性要求。
由上述可知, 在语音扩频通信系统中, 通过采用同体制的扩频方式, 嵌入水印信号, 可取得最佳的水印性能。

⛄三、部分源代码

clc;clear;
I=audioread(‘1.wav’);
I=I(:,1);
figure(1)
plot(I);
title(‘原语音’);
Secret=10; %待隐藏数据的大小
data=round(rand(1,Secret)); %随机生成大小为Secret的待隐藏的2进制数据
[length,width,~]=size(I);
fprintf(‘隐藏数据:’);disp(data);
%进行信息隐藏
point=1;
for i=1:length
if point>Secret
break;
end

for j=i:width
    if point>Secret
        break;
    end
    if point==Secret-mod(Secret,3)+1  %剩余数据不足三位时单独处理
        I(i,j)=fix(double(I(i,j))/8);
        I(i,j)=I(i,j)*8;
        num=4;
        for k=point:Secret
            I(i,j)=I(i,j)+data(k)*num;
            num=num/2;
        end
        break
    end
    I(i,j)=fix(double(I(i,j))/8);     %后三位置0,放入待隐藏数据
    I(i,j)=I(i,j)*8;
    I(i,j)=I(i,j)+data(point)*4+data(point+1)*2+data(point+2);
    point=point+3;
end

end
fprintf(‘信息隐藏成功!\r\n’);
figure(2)
plot(I);
title(‘隐藏后图像’);
%隐藏信息读取
point=1;
for i=1:length
if point>Secret
break;
end

for j=i:width
    if point>Secret
        break;
    end
    if point==Secret-mod(Secret,3)+1   %之前做单独放入处理的隐藏点进行单独读取
        message=double(mod(I(i,j),8));
        message=floor(message/2);
        if mod(Secret,3)==1
            message=floor(message/2);
            Data(point)=mod(message,2);
        end
        if mod(Secret,3)==2
            Data(point+1)=mod(message,2);
            message=floor(message/2);
            Data(point)=mod(message,2);
        end
        break
    end 

⛄四、运行结果

【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab
【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】,Matlab语音处理(初级版),matlab

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]何世彪,杨士中.扩频通信中扩频水印的嵌入方法[J].电讯技术. 2005,(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除文章来源地址https://www.toymoban.com/news/detail-765312.html

到了这里,关于【语音隐写】LSB音频水印嵌入提取【含Matlab源码 3676期】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【信号隐藏】基于LSB实现音频水印嵌入提取附Matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月24日
    浏览(33)
  • 【Matlab信号隐藏】基于LSB实现音频水印嵌入提取附代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月24日
    浏览(33)
  • 【语音隐写】基于matlab奇异值分解SVD音频水印嵌入加噪滤波(检验鲁棒性含误码率)【含Matlab源码 3895期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2024年02月21日
    浏览(32)
  • 【图像隐写】基于matlab DCT数字水印嵌入+攻击+提取【含Matlab源码 1758期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2023年04月08日
    浏览(42)
  • 【语音隐藏】LSB算法WAV音频信息隐藏(嵌入)【含Matlab源码4236期】

    获取代码方式1: 完整代码已上传我的资源:【语音隐藏】基于matlab LSB算法WAV音频信息隐藏(嵌入)【含Matlab源码4236期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏Matlab语音处理(初级版) 备注: 点击上面蓝色字体 付费专栏Matlab语音处理(初级

    2024年04月26日
    浏览(28)
  • 基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 matlab2022a 水印嵌入原理        LABS方法 在这里不太明确,如果指的是色彩空间转换,可能是在嵌入或提取阶段将RGB图像转换至LAB色彩空间,因为LAB空间更适合人眼对颜色的感

    2024年04月27日
    浏览(27)
  • 隐写术浅谈(二):LSB隐写与IDAT隐写

    在本系列的其他文章中,我主要讲了讲自己对于 隐写分析 的一些浅薄理解,但是大都是针对于如何反隐写(做题嘛,不寒碜),基本上很少讲如何去隐写。上一篇我们讨论了直接附加和 IHDR,这一篇我们继续讨论如何去进行隐写(LSB 隐写和 IDAT 隐写)(非 CTF 向)。(此文并

    2024年02月09日
    浏览(71)
  • 【MISC入门题型(二)--CRC校验&LSB隐写】

    提示:本文章为内蒙古工业大学“深信服杯”网络安全竞赛(又名第五届内蒙古工业大学网络安全竞赛)MISC(杂项)培训总结及其题库,适合刚刚入门CTF杂项方向的小伙伴使用。原题及环境请转到本人主页的上传资源下载查看!相关工具包后续也会整理上传,敬请期待! 注

    2023年04月13日
    浏览(28)
  • 图像处理之LSB替换隐写算法的实现

    一、LSB算法 LSB全称为Least Significant Bit)翻译过来为即 最低有效位 。在灰度图像中,图像的灰度由八位二进制来表示即十进制中0-255,共256级别,255为白色,0为黑色。可知, 二进制位越靠前则对像素点灰度的影响越大,从这点出发考虑更改像素点灰度值最低位来隐藏信息,这

    2024年02月01日
    浏览(50)
  • 内容安全实验——实验三 信息隐藏和LSB水印实践

    这系列文章均为上课时老师要求写的实验作用,若有错误,还请大家指出。实验过程有参考一些博客,具体链接找不到了。 提示:以下是本篇文章正文内容,下面案例可供参考 了解信息隐藏的基本知识; 理解BMP图像格式的编码方式; 学会使用位图法在BMP图片中嵌入和提取信

    2024年02月04日
    浏览(102)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包