声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1282|回复: 0

关于功率谱估计时延(具有相位模糊)的仿真问题!

[复制链接]
发表于 2009-5-5 13:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
首先我这个课题是先对一路声音信号进行加噪,分数时延,然后根据互功率谱密度求出相差的相位,由于w×时延必须小于pi,所以导致麦克风距离很小,为了解决这个问题,采取相位周期展开的方法,每读取2次数据,进行求互功率谱,求出相位,根据每点频率求出这点最大需要周期延拓几个相位周期。计算出所有可能的时延,再把时延聚类,一般来说,真实时延那点的数据应该是最多的!但是我的计算结果是时延都不一样,根本无法聚类。,请大大帮我看看到底哪里出错了!

clear;
mird=20;%2个麦克风之间的距离
data_fname1='111.bin'; % 这里是文件名 这里的111是原始的声音文件
file_id1=fopen(data_fname1,'rb');
data_fname2='222.bin'; % 这里是文件名 这里的222文件是分数延迟后的数据文件,声音文件采取16K采样 然后分数延时
file_id2=fopen(data_fname2,'rb');
s1=[zeros(1,128)];
s3=[zeros(1,128)];
while feof(file_id1)~=1&feof(file_id2)~=1
    % 数据类型是int16,每次读入256个数
    % raw_array每次都是256x1的矩阵,ele_count为读入的数的个数(正常情况下应为256)
    [row_array1,ele_count]=fread(file_id1,128,'double');
    [row_array2,el_count]=fread(file_id2,128,'double');
    if ele_count <128 % elecount < 512代表数据不够,已经到了文件的结尾
        break;
    else
        row_array1=row_array1';
        s2=[s1,row_array1(1:128)];
        s1=row_array1(1:128);
        if el_count <128 % elcount < 512代表数据不够,已经到了文件的结尾
        break;
    else
        row_array2=row_array2';
        s4=[s3,row_array2(1:128)];
        s3=row_array2(1:128);
        f1=fft(s2);
        fx1=f1(1:256);
        f2=fft(s4);
        fx2=f2(1:256);
        fz2=conj(fx2);
        Pxy=fx1.*fz2;
        Ap=angle(Pxy);
        da=1:256;
        f=1/16000;
        w=da/(256*f);
        sun=zeros(128,6);
        for i=1:128
           dsum=dlay(Ap(i),mird,w(i)); %由于麦克风距离的加长而引起相位的模糊,而采取的根据每点FFT频率计算需要延拓几个周期 计算出的是时延!
           sun(i,:)=dsum;
        end
          sun=sort(sun,'ascend');
         B=unique(sun);
         c=zeros(size(B));
         for n=1:length(B);
             c(n)=length(find(sun==B(n)));
         end
         end
    end
end

www.m

1.63 KB, 下载次数: 9

主程序

dlay.m

616 Bytes, 下载次数: 5

dsum函数

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 21:53 , Processed in 0.065660 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表