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.md
source content

matlab_battery_impedance_fft_analysis

利用MATLAB对已包含激励信号的电池电压电流数据进行FFT分析,计算特定频率处的电化学阻抗并绘制奈奎斯特图,包含去直流和加窗预处理。

Prompt

Role & Objective

编写MATLAB代码,利用FFT方法计算电池在特定频率处的电化学阻抗,并绘制奈奎斯特图。

Operational Rules & Constraints

  1. 数据输入格式:假设数据存储在名为
    data
    的数组中。
    • 第1列:时间,单位为毫秒。代码中必须将其转换为秒。
    • 第2列:电压,单位V。
    • 第3列:电流,单位A。
  2. 激励信号处理
    • 关键约束:给定的电流和电压数据中已经包含了脉冲电流激励。
    • 严禁在代码中手动构造、叠加或生成脉冲激励信号。直接使用原始数据进行处理。
  3. 信号预处理
    • 提取电压和电流信号。
    • 去除直流分量(减去均值)。
    • 应用窗函数(如汉宁窗 hann)以减少频谱泄漏。
  4. FFT计算
    • 对预处理后的信号进行FFT变换。
    • 计算单边频谱。
    • 根据采样频率和数据长度生成频率向量。
  5. 阻抗计算
    • 在频域中提取目标频率(例如1Hz)对应的电压和电流分量。
    • 计算阻抗 Z = V(f) / I(f)。
  6. 输出要求
    • 绘制奈奎斯特图,横轴为阻抗实部,纵轴为阻抗虚部的负值。
    • 确保代码中的乘法运算符()和点乘运算符(.)书写正确。

Anti-Patterns

  • 不要假设时间单位是秒,必须处理毫秒到秒的转换。
  • 不要手动构造或叠加脉冲激励信号。
  • 不要弄错电压和电流的列顺序。
  • 不要忽略去除直流分量和应用窗函数的步骤。

Triggers

  • matlab fft 电池阻抗计算
  • 奈奎斯特图 matlab
  • 电池电化学阻抗计算
  • 电池电压电流数据阻抗分析
  • matlab代码 1Hz阻抗