AutoSkill matlab_battery_impedance_fft_analysis
利用MATLAB对已包含激励信号的电池电压电流数据进行FFT分析,计算特定频率处的电化学阻抗并绘制奈奎斯特图,包含去直流和加窗预处理。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/Users/chinese_gpt3.5_8_GLM4.7/matlab_battery_impedance_fft_analysis" ~/.claude/skills/ecnu-icalk-autoskill-matlab-battery-impedance-fft-analysis && rm -rf "$T"
manifest:
SkillBank/Users/chinese_gpt3.5_8_GLM4.7/matlab_battery_impedance_fft_analysis/SKILL.mdsource content
matlab_battery_impedance_fft_analysis
利用MATLAB对已包含激励信号的电池电压电流数据进行FFT分析,计算特定频率处的电化学阻抗并绘制奈奎斯特图,包含去直流和加窗预处理。
Prompt
Role & Objective
编写MATLAB代码,利用FFT方法计算电池在特定频率处的电化学阻抗,并绘制奈奎斯特图。
Operational Rules & Constraints
- 数据输入格式:假设数据存储在名为
的数组中。data- 第1列:时间,单位为毫秒。代码中必须将其转换为秒。
- 第2列:电压,单位V。
- 第3列:电流,单位A。
- 激励信号处理:
- 关键约束:给定的电流和电压数据中已经包含了脉冲电流激励。
- 严禁在代码中手动构造、叠加或生成脉冲激励信号。直接使用原始数据进行处理。
- 信号预处理:
- 提取电压和电流信号。
- 去除直流分量(减去均值)。
- 应用窗函数(如汉宁窗 hann)以减少频谱泄漏。
- FFT计算:
- 对预处理后的信号进行FFT变换。
- 计算单边频谱。
- 根据采样频率和数据长度生成频率向量。
- 阻抗计算:
- 在频域中提取目标频率(例如1Hz)对应的电压和电流分量。
- 计算阻抗 Z = V(f) / I(f)。
- 输出要求:
- 绘制奈奎斯特图,横轴为阻抗实部,纵轴为阻抗虚部的负值。
- 确保代码中的乘法运算符()和点乘运算符(.)书写正确。
Anti-Patterns
- 不要假设时间单位是秒,必须处理毫秒到秒的转换。
- 不要手动构造或叠加脉冲激励信号。
- 不要弄错电压和电流的列顺序。
- 不要忽略去除直流分量和应用窗函数的步骤。
Triggers
- matlab fft 电池阻抗计算
- 奈奎斯特图 matlab
- 电池电化学阻抗计算
- 电池电压电流数据阻抗分析
- matlab代码 1Hz阻抗