实用数字信号处理——笔记与基于C++与python的实验(1)
参考书:《实用数字信号处理:从原理到应用》 Steven W. Smith
本笔记的内容倾向于计算机专业,电路相关的内容会较少而程序方面的会比较多;
本文是笔记而不是相对准确的教程,所以仅供参考;
1.1.正弦波数据的生成
正弦波的公式:
假如用一个数组存储正弦波数据,数组的大小为总采样点数:sample_num(单位:个采样点数),设时间为time(单位:秒),采样率为sample_rate(单位:采样点数/秒),则 ;
要算时间间隔,将sample_num设为1,则时间间隔 ,还要将相位角从角度制转为弧度制;
C++关键代码如下:
double delta_t = 1.0 / sample_rate;
for (int i = 0; i < sample_num;i++){
double t = i * delta_t;
sin_arr[i] = amp * sin(2 * M_PI * freq *t + phase*M_PI/180);
}
用python进行绘图:
参考代码:
https://github.com/SkylarShadow/dsp_guide_for_csbeginner
1.2 数字信号处理的软件部分
1.整数
2.浮点数
3.执行程序速度(算法速度)
(计算机专业的知识略过…)
实用数字信号处理——笔记与基于C++与python的实验(1)
https://skylarshadow.github.io/2023/07/20/dsp-guide1/