- 编程语言:MATLAB
- 编程环境:MATLAB r2017a for mac
文件名称 | 说明 |
---|---|
CostFunction.m | 用于PSO程序中计算粒子的适应度 |
figure_generator.m | 生成论文配图 |
framing.m | 对音频信号进行分帧 |
gcc_phat_w.m | 使用以phat作为参数的GCC程序计算TDOA |
langevin.m | 郎之万运动模型 |
main_w_npso.m | 改进后的PSOPF算法主函数 |
main_w_pso.m | 未改进的PSOPF算法主函数 |
main_w.m | 基本粒子滤波算法主函数 |
multinomialR.m | 多项式随机重采样 |
particle_weight_generator.m | 计算粒子权重 |
raw.wav | 音频信号 |
rir_example.m | 使用Image模型产生RIR |
rir_generator.cpp | Image模型实现 |
tdoaT_generator.m | 计算真实TDOA |
test_w.m | 用于生成空间中各处的权重 |
wavread.m | wav文件读取函数 |
文件夹名称 | 说明 |
---|---|
jpg | 存储粒子在各时刻的位置图 |
mat | 存储main_w.m、main_w_pso.m、main_w_npso.m三个主函数生成的数据,以及figure_generator.m生成的论文配图 |
- jpg文件夹和mat文件夹中又依据三种不同的运动轨迹为依据创建了semicircle、straightLine、triangle三种文件夹;
- jpg文件夹中的这三种文件夹中又依据使用算法的不同创建了ps、psopf、npsopf三种文件夹,它们中便是存储
粒子在各时刻的位置图
的位置; - mat文件夹中的这三种文件夹中便是存储
main_w.m、main_w_pso.m、main_w_npso.m三个主函数生成的数据
的位置,mat文件夹中的jpg文件夹是存储figure_generator.m生成的论文配图
的位置。
- gcc_phat_w.m来自LucasVale22/ufrj-programas,使用中进行了更改;
- rir_example.m与rir_generator.cpp来自ehabets/RIR-Generator;
- 另有多个文件是由书籍《粒子滤波原理及应用――MATLAB仿真》中的代码以及网上代码更改而来。
- 编译
rir_generator.cpp
mex rir_generator.cpp
- 逐个运行
main_w.m
、main_w_pso.m
、main_w_npso.m
; - 在
/jpg/semicircle
或/jpg/straightLine
或/jpg/triangle
目录下查看粒子在各时刻的位置图
; - 运行
figure_generator.m
; - 在
/mat/jpg
目录下查看figure_generator.m生成的论文配图
。
- 可以通过在
main_w.m
、main_w_pso.m
、main_w_npso.m
三个文件的第29行以及figure_generator.m
的第5行设置track
变量的值来改变说话人运行的轨迹。其中,track = 1
表示圆形轨迹;track = 2
表示三角轨迹;track = <其他>
表示直线轨迹。
MIT License