Tutorial

Git: submodule 子模块简明教程

有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。Git 通过子模块来解决这个问题。

GitHub 不再支持密码验证,如何在 macOS 上实现 Token 登陆配置

这两天我发现用 GitHub 的时候,push 不了代码了,经过一番了解后,这里贴上在我的 macOS 上如何解决和配置 Token 的。

解决 GitHub 的 host 域名被限制的问题

此文记录 `git clone` 等相关终端指令下,速度太慢,或者毫无反应的问题。其原因是因为 `github.global.ssl.fastly.net` 域名被限制了。只要找到这个域名对应的 `ip` 地址,然后在 `hosts` 文件中加上 `ip–>域名` 的映射,刷新 DNS 缓存便可。

Particle Swarm Optimization From Scratch Using Python

Demo script (Python) of particle swarm optimization (PSO) partly translated from [SDMBIGDAT19](https://github.com/mohanty-sd/SDMBIGDAT19) (MATLAB).

Bayes Inference, Bayes Factor, Model Selection

模型选择 (model selection) 是统计推断专题里一个很重要的话题。此文是于 2021.1.19 在 ITP-CAS 为 Journal Club 准备的一个整理与调研。算是自己对 model selection 在个人在当前理解程度上的一个记录。

谱分析 (spectral analysis) 的 SciPy 代码解析

由于个人研究课题的需要,我仔细的研读了 `Scipy.signal.spectral` 的[源码](https://github.com/scipy/scipy/blob/master/scipy/signal/spectral.py)。此文就是关于此源码的详细解析教程,以方便我未来回溯相关**谱分析** (**spectral analysis**) 的细节,也通过阅读成熟且优美的源代码提高自己的 Python 编程开发能力。内容涉及:`stft`, `istft`, `csd`, `welch`, `coherence`, `periodogram`, `spectrogram`, `check_COLA`, `check_NOLA`, `lombscargle`

Python 中负数取余问题

最近发现在 Scipy 信号处理的原代码中,可以利用对负数取余的便利操作,进一步优化和清晰我们数据处理的过程。此贴计划直接简明扼要的介绍和记录 “负数取余” 的 trick。

恒 Q 变换 (Constant-Q transform)

现代对音乐声音的分析,一般都采用一种具有相同指数分布规律的时频变换算法——**CQT** (Constant-Q transform)。我根据研究的需要,将该算法的 MATLAB 代码翻译到 Python 版本。

Python 装饰器之 Property: Setter 和 Getter

此文简明扼要探讨了 Python 装饰器中 Property 的 Setter 和 Getter 的运行机制,并且给出了几个非常典型的代码示例。

S 变换 (Stockwel transform)

**S变换**是一种可逆的时频分析方法,它是短时窗傅立叶变换和小波变换的结合。它克服了短时窗傅立叶变换不能调节分析窗口频率的问题,同时引入了小波变换的多分辨率分析,且与傅立叶频谱保持直接的联系,针对地震资料的特点有很好的时频分析能力。