美文网首页
声音二维码

声音二维码

作者: yingtaomj | 来源:发表于2017-04-21 16:34 被阅读11次

    play.m的play键响应函数中:将msg用doubleError.jar加密后为二进制数,每6000bit为一集合,集合数为setnums。在循环处理中,把每6000bit提取到sig里,调用函数

    [encsig, unencmusic] = audiohideencode_carrierwid_90(unencmusic, sig1);
    % encsig是unencmusic嵌入信息的那一部分音频,unencmusic是原先unencmusic没有被嵌入的(剩下的)那一部分
    
    参数定义。数据包在代码中称为帧

    这6000bit被分为100个symbol,60个并行载波来传输:

    1. 找到帧头:
    sqrt(avecarryener/premnum)>0.04%判断帧头的条件
    hidepoint=i;
    TEST = CARRYSIG(hidepoint+1: end);
    
    1. 嵌入帧头。TEST代表时域,X是代表帧头的频域X = fft(TEST(1:premnum)),改变X,返回到时域,赋值给TEST。
    2. 嵌入每个符号(symbol)。
      首先提取TEST中对应该次序的symbol的那一段SYMBOL,X=fft(SYMBOL)
     for j=1:para %60个并行载波
             X(carrierstart+round(carrierwid*symtime*(j-1)))=hidesymfactor*Emax*sigfac(j,count);%sigfac(j,count)是要嵌入的内容
             X(symnum-carrierstart-round(carrierwid*symtime*(j-1))+2)=hidesymfactor*Emax*sigfac(j,count);
    end
     X(symtime*21100)=2*Emax;%导频
    X(symnum-symtime*21100+2)=2*Emax;
    

    相关文章

      网友评论

          本文标题:声音二维码

          本文链接:https://www.haomeiwen.com/subject/zmmdzttx.html