Este es un problema de MATLAB, no un problema de electrónica. Estás queriendo reproducir dos canales de audio usando soundsc
. Sin embargo, le está suministrando un vector de fila en lugar de un \ $ x \ in \ mathbf {R} ^ n \ $ es decir, un \ $ n \ times 1 \ $ vector.
Si tienes dos vectores que son \ $ m \ veces 1 \ $ y los concatena, terminas con un \ $ 2m \ veces 1 \ $ vector, mientras que si quieres reproducir cosas simultáneamente, quieres un \ $ m \ times 2 \ $ matriz. Lo que obtendrá es una señal de 2 segundos seguida de un clic causado por una discontinuidad al cambiar entre la señal original y la señal de cambio de fase, seguido de otros 2 segundos de seno.
Aquí está el código fuente fijo, donde cambié su coma a un punto y coma en la última línea para crear una matriz \ $ m \ veces 2 \ $.
clear all
close all
%% Create sinusoidal Wave
fs = 44100;
t = 0:1/fs:2; T =10e-3;
signal = cos(2*pi*t*1/T);
%% Create shifted signal
Delay = 5e-3;
shifted_signal = cos(2*pi*(t-Delay)*1/T);
%% Output signals
soundsc([signal; shifted_signal],fs)