name: compare_methods description: ライブラリ内の類似した信号処理手法の技術的・物理的な違いを分析し、比較解説付きのノートブックセクションを作成する
Document Method Comparison
This skill provides a procedure for creating educational sections in Jupyter Notebooks that compare two or more methods (e.g., gwpy vs gwexpy).
Instructions
-
Technical Analysis:
- Examine the source code of both methods to identify implementation differences.
- Averaging/Integration: Does it downsample the data using a sliding window? (e.g.,
gwpy.heterodyne) - Filtering: Does it use a Low-Pass Filter (LPF) like Butterworth or FIR? (e.g.,
gwexpy.lock_in)
- Averaging/Integration: Does it downsample the data using a sliding window? (e.g.,
- Compare numerical characteristics like time resolution and frequency response (aliasing).
- Examine the source code of both methods to identify implementation differences.
-
Physical/Conceptual Context:
- Check if there are differences between engineering definitions and package conventions.
- Example:
gwpy.heterodyneeffectively performing "Homodyne" detection relative to the carrier frequency.
- Example:
- Identify the target use case for each (e.g., stationary signal vs transient analysis).
- Check if there are differences between engineering definitions and package conventions.
-
Construct Comparative Sample Code:
- Create a synthetic signal that highlights the differences (e.g., a signal with rapid amplitude/phase changes).
- Execute both methods on the same input signal with comparable parameters (e.g., matching the averaging stride with the filter bandwidth).
- Visualize results in a single plot for direct comparison.
- Use
plt.step(..., where='post')for discrete averaged data. - Use
plt.plot(...)for continuous filtered data.
- Use
-
Draft Markdown Explanation:
- Use tables to summarize differences (Algorithm, Resolution, Post-Processing, Features).
- Provide a clear summary statement on "which method to choose" for specific user goals (e.g., "Use
.lock_in()for control system transient response").
-
Integration:
- Use Python scripts to inject these cells (Markdown and Code) into the target
.ipynbfile, typically appending to the end or inserting into a relevant section.
- Use Python scripts to inject these cells (Markdown and Code) into the target