私の初心者の質問の助けを前にありがとう。私はエイリアシングなしで素敵なのこぎりを作り、再生する方法を理解するためにかなりの数のリソースに相談してきましたが、私が読んできた説明だけが私をさらに混乱させてしまったので、
信号にナイキスト周波数以上の正弦波成分が含まれていないとエイリアスが発生しないはずです。したがって、安全のために、私は以下のコードを使ってのこぎり歯を作成します:
fs = 48000;
a = linspace(0,(fs/20),fs);
SinAudio = sin(2*pi*a+0.5*pi);
for i = 1:(length(amaxi)-1)
SawElement{i} = linspace(-1, 1, (amaxi(i+1)-amaxi(i)));
end
% Make first sawtooth element
Saw = linspace(0,1,amaxi(1));
% Concatenate rest of elements
for i = 1:length(SawElement)
Saw = [Saw, 0, SawElement{i}];
end
この場合、私がエイリアシングとして知覚したことは、はっきりと聞こえる低周波の多くとして明らかです。特に、私が信号を掃引するとき、そのような音が吹きます。
だから、ベース周波数は私のサンプリング周波数よりも下にあり、私は鋸歯の要素を連結する方法で、私は1から-1に行くために2つのサンプルを取る。直感的に、私はこれが間違っているように感じます。なぜなら、あなたが個々の正弦波からそのような信号を作り出すならば、たくさんの高調波が必要になるからです。
しかし、私はこのような正弦波を作成するときよりも、そこに高調波は存在しないはずです。
fs = 48000;
a = linspace(0,(fs/4),fs);
x = sin(2*pi*a+0.5*pi);
これはナイキスト周波数の半分の周波数を持つ正弦波であるため、私はエイリアシングを期待しませんでした...私は思いますか?
ですから、私の質問は次のとおりです:
1)ナイキスト周波数の半分で最大周波数の生成信号がエイリアスになっているのはなぜですか?
2)帯域制限されたノコギリ波または方形波を作成するにはどうすればよいですか?私はウェーブテーブル合成を使ってみましたが、結果の信号をまだテストしていませんが、バンド幅のあるウェーブテーブル合成が上記の2つのコードからどのように異なる結果をもたらすかはわかりません。最終的に、私の信号がどのように生成されても、2〜3サンプルの間に、私の信号が1から-1に変化する点があります。
前もってありがとう、私は本当にこれの上に私の頭を壊している....
ポール