Closed iChunyu closed 3 years ago
第一天打卡:学习基2时间法快速傅里叶变换。
Day 1 report: learn Radix-2 Decimation in Time Fast Fourier Transformation.
第二天打卡:学习基于FFT的基本频谱分析。
Day 2 report: learn basic frequency spectrum with FFT. I didn't try all examples in the book, but only those I think useful. This could be an excuse for my laze. :)
第三天打卡:数据补充0后的FFT。
Day 3 report: compare the FFT results of extended data with zeros.
Next section will discuss about the filter design, on which I would pay lots of attentions. Filtering data could be a very useful skill.
第四天打卡:编写Python版lpsd
程序,为数据处理提供方便。
Day 4 Report
I spent the whole afternoon to watch a soap opera, which almost killed my plan to update this repository. Luckily, the next section is digital filter design and relies on frequency spectrum analysis. So I rewrote the lpsd
power spectrum density estimation algorithm in Python, which makes up today's commit and saves my plan. :)
第五天打卡:以模拟低通滤波器为例,使用内置函数进行滤波器设计。
Day 5 Report
I tried built-in functions to design analog low-pass filter with both MATLAB and Python code. It's very good that scipy
provides such similar functions with MATLAB.
第六天:休息一天
第七天:学习了模拟滤波器转数字滤波器的基本方法:冲击响应不变法、双线性变换法。
Day 7 Report Two methods to convert analog filter to digital filter: 1) Impulse invariance method; 2) Bilinear transformation method. Why I more and more fell that Python figure is more beautiful than MATLAB? Is it due to vector graph?
第8天:零相位滤波器和FIR滤波器设计。
Day 8 Learnt how to do zero-phase filtering and learnt FIR filter design using built-in functions. It's fun to program!
第9天:测试了滤波器设计的GUI工具箱,Python版的LPSD出现问题
Day 9 Design filter with GUI toolbox.
第10天:修复LPSD的bug,属于粗心错误,循环少1。
Day 10
Fix bug in lpsd
.
第11~13天:过年放假休息几天啦,新年快乐!
Day 11~13 I would like to have a three-days holiday. Happy new year everyone!
第14天:信号取去漂以及提取包络。
Day 14
I learnt how to remove trend of the given signal. The function detrend
in MATLAB can remove any order polynomial trend, but scipy.signal.detrend
can just cancel linear trend.
Hilbert transform is a very good method to extract envelope curve of a modulated signal, which can be used in digital demodulation. However, the processing is not causal, which can't be performed in real time. Further properties of Hilbert transform could be learnt later if necessary.
第15天:数据平滑处理以及MATLAB的AR数据预测。
Day 15
Smooth data with other methods instead of FIR/IIR filter. In fact, these methods do the same as a filter does, but not as linear as FIR/IIR filter.
I tried to predict data using AR model in MATLAB. Unfortunately, I haven't found lpc
and arburg
functions in Python, so that I haven't finished Python code.
第16天:补充Python版本的AR数据预测。
Day 16
Create iarburg
function in Python, which is modified from arburg
function in MATLAB. Unfortunately, the two function don't work totally the same, iarburg
should be checked carefully for future work. Because it's output looks good, so I don't check it right now. Maybe I will update iarburg
when I have studied AR model systematically.
第17~19天:突然想起来数字信号处理的作业还没写,这几天暂停更新。
Day 17~19 I remember to do homework about digital signal processing, for which I will pause updating this repository for 3 days. The work is on another branch and pushed to a private repository temporarily, I will merge to this repository after I gain the credit.
第20~21天:打卡未遂。
Day 20~21: Mission Failed.
第22天:尝试短时傅里叶变换和Goertzel算法。
Day 22
Tryshort-time Fourier transform (STFT) for time-frequency analysis. Another algorithm proposed by Goertzel is tested, which is an iteration algorithm and easy to be embedded in digital devices.
Sections 5 ~7 are out of my interest by now, so I plan to merge them in folder Sec05_*
. Real the book for detail if necessary.
第23天:DFT处理非整数索引频率的校正。
Day 23 Ratio method to correct DFT for single frequency signal whose frequency has non-integral index. This correction takes window function into consideration to estimate true frequency.
第24天:补充功率谱相关的计算,完结撒花。
Day 24
Test some functions relevant to power spectrum density. Some parametric methods in Python are not found in scipy
and I don't try to search other possible packages because they're not usually used in my subject.
The proposal has been finished by now and I'm closing this issue. Hope everyone can make some progress.
之前买了本《MATLAB数字信号处理85个实用案例精讲:入门到进阶》一直没有耐心看,寒假决定立一个Flag:二月期间每天更新本仓库,用MATLAB和Python两种语言实现书中关键案例。
I have a proposal for a good beginning of the coming new year: update this repository everyday in February to study digital signal processing. By the way, improve coding skill and English if possible.