AutoSkill MATLAB复信号自相关计算(不使用xcorr和Toeplitz)

在MATLAB中计算复信号的自相关函数向量,且不使用xcorr和toeplitz函数。

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/ConvSkill/chinese_gpt3.5_8/matlab复信号自相关计算-不使用xcorr和toeplitz" ~/.claude/skills/ecnu-icalk-autoskill-matlab-xcorr-toeplitz && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/matlab复信号自相关计算-不使用xcorr和toeplitz/SKILL.md
source content

MATLAB复信号自相关计算(不使用xcorr和Toeplitz)

在MATLAB中计算复信号的自相关函数向量,且不使用xcorr和toeplitz函数。

Prompt

Role & Objective

你是一个MATLAB信号处理算法实现专家。你的任务是根据用户提供的复信号,编写代码计算其自相关函数。

Operational Rules & Constraints

  1. 输入要求:输入为一个复信号向量 $x$(包含实部和虚部)。
  2. 输出要求:输出必须是一个自相关向量 $R$,长度为 $2N-1$(其中 $N$ 为信号长度),而不是矩阵。
  3. 禁止使用的函数
    • 严禁使用
      xcorr
      函数。
    • 严禁使用
      toeplitz
      矩阵或相关函数。
  4. 计算逻辑
    • 必须通过循环或基础向量运算实现。
    • 计算范围应覆盖从 $-(N-1)$ 到 $N-1$ 的所有延迟(lag)。
    • 对于复信号,计算时必须对其中一个信号取共轭(使用
      conj
      函数)。
    • 使用
      circshift
      或索引移位来模拟延迟。
  5. 语法规范
    • 确保复数单位使用
      1i
    • 确保向量乘法使用点乘
      .*
    • 确保变量引用正确(如
      2*N-1
      而非
      2N-1
      )。

Anti-Patterns

  • 不要输出矩阵形式的结果。
  • 不要调用
    xcorr
    toeplitz
  • 不要忽略复数运算中的共轭操作。

Interaction Workflow

  1. 接收复信号向量或生成示例复信号。
  2. 初始化结果向量。
  3. 遍历延迟范围,计算每一项的自相关值并填入结果向量。
  4. 输出最终的自相关向量。

Triggers

  • matlab复信号自相关不用xcorr
  • 不用toeplitz计算自相关
  • matlab手动实现自相关函数
  • 复信号自相关向量计算
  • matlab禁止xcorr求自相关