% Modulaci鏮 anal鏬ica de informaci鏮 de audio:
%archivo original:
close all
%--------------------------------------------------------------------------
%Archivo1
[y_original,Fs,Nbits,Format] = wavread('here put a wav song');
% sound(y_original,Fs)
%extraemos 1 solo canal y a鎙dimos un DC de 0.3:
canal_izquierdo_original=y_original(:,1)+0.3;
BB = canal_izquierdo_original;
% Filtramos para evitar posibles complicaciones en aliassing:
Fmax=Fs/2;
orden = 40;
wn = 5000/ Fmax; % al variar, dio 5000 que nos deja oir sin alteraciones
b = fir1(orden,wn,'low');
BB_filt=filter(b,1,BB);
informacion = BB;
inf_size = size(informacion)
% Portadora:
fc= 4000;
t= 0:1/Fs:(length(canal_izquierdo_original)-1)/Fs;
portadora = cos(2*pi*fc*t); % La portadora.
port_size= size(portadora) % 1x151
% MODULACI粍 EN AM: MULTIPLICACI粍 DE DOS SE哻LES.
onda_modulada = informacion .* portadora'; %transpuesta para que sean de la misma dimensi鏮
Fc_10 = 4000; % Carrier frequency in Hz
mod_10 = onda_modulada;
% Para los filtros pasa banda:
Fmax=Fs/2;
orden = 20;
% Filtramos espectro INFERIOR desde Fc_10-5000 hasta Fc_10:
wn_inf_10 = [Fc_10-2000 Fc_10]/ Fmax;
% Filtramos espectro SUPERIOR desde Fc_10 hasta Fc_10 + 5000:
wn_sup_10 = [Fc_10 Fc_10+2000]/ Fmax;
% Filtramos espectro INFERIOR M糜 SUPERIOR desde Fc_10-5000 hasta Fc_10 + 5000:
wn_inf_sup_10 = [Fc_10-2000 Fc_10+2000]/ Fmax;
% Coeficientes:
[b_inf_10,a_inf_10]= butter(orden,wn_inf_10);
[b_sup_10,a_sup_10]= butter(orden,wn_sup_10);
[b_inf_sup_10,a_inf_sup_10]= butter(orden,wn_inf_sup_10);
% filtramos:
mod_inf_filt_10=filter(b_inf_10,a_inf_10,onda_modulada);
mod_sup_filt_10=filter(b_sup_10,a_sup_10,onda_modulada);
mod_inf_sup_filt_10=filter(b_inf_sup_10,a_inf_sup_10,onda_modulada);
% amplificamos:
mod_inf_filt_amp_10=2*mod_inf_filt_10;
mod_sup_filt_amp_10=2*mod_sup_filt_10;
mod_inf_sup_filt_amp_10=2*mod_inf_sup_filt_10;
%Espectro de potencias:
nFFT=1024;
LongVentana= nFFT/4;
Solapamiento =LongVentana/2;
% Espectro de la BB:
[P_welch_BB_con_mod,F_welch_BB_con_mod] = pwelch(onda_modulada,LongVentana,Solapamiento,nFFT,Fs);
informacion_uno=P_welch_BB_con_mod;
%--------------------------------------------------------------------------
%Archivo 2
[y_original,Fs,Nbits,Format] = wavread('Chispa');
% sound(y_original,Fs)
%extraemos 1 solo canal y a鎙dimos un DC de 0.3:
canal_izquierdo_original=y_original(:,1)+0.3;
BB = canal_izquierdo_original;
% Filtramos para evitar posibles complicaciones en aliassing:
Fmax=Fs/2;
orden = 40;
wn = 5000/ Fmax; % al variar, dio 5000 que nos deja oir sin alteraciones
b = fir1(orden,wn,'low');
BB_filt=filter(b,1,BB);
informacion = BB;
inf_size = size(informacion)
% Portadora:
fc= 8000;
t= 0:1/Fs:(length(canal_izquierdo_original)-1)/Fs;
portadora = cos(2*pi*fc*t); % La portadora.
port_size= size(portadora) % 1x151
% MODULACI粍 EN AM: MULTIPLICACI粍 DE DOS SE哻LES.
onda_modulada = informacion .* portadora'; %transpuesta para que sean de la misma dimensi鏮
Fc_10 = 8000; % Carrier frequency in Hz
mod_10 = onda_modulada;
% Para los filtros pasa banda:
Fmax=Fs/2;
orden = 20;
% Filtramos espectro INFERIOR desde Fc_10-5000 hasta Fc_10:
wn_inf_10 = [Fc_10-4000 Fc_10]/ Fmax;
% Filtramos espectro SUPERIOR desde Fc_10 hasta Fc_10 + 5000:
wn_sup_10 = [Fc_10 Fc_10+4000]/ Fmax;
% Filtramos espectro INFERIOR M糜 SUPERIOR desde Fc_10-5000 hasta Fc_10 + 5000:
wn_inf_sup_10 = [Fc_10-4000 Fc_10+4000]/ Fmax;
% Coeficientes:
[b_inf_10,a_inf_10]= butter(orden,wn_inf_10);
[b_sup_10,a_sup_10]= butter(orden,wn_sup_10);
[b_inf_sup_10,a_inf_sup_10]= butter(orden,wn_inf_sup_10);
% filtramos:
mod_inf_filt_10=filter(b_inf_10,a_inf_10,onda_modulada);
mod_sup_filt_10=filter(b_sup_10,a_sup_10,onda_modulada);
mod_inf_sup_filt_10=filter(b_inf_sup_10,a_inf_sup_10,onda_modulada);
% amplificamos:
mod_inf_filt_amp_10=2*mod_inf_filt_10;
mod_sup_filt_amp_10=2*mod_sup_filt_10;
mod_inf_sup_filt_amp_10=2*mod_inf_sup_filt_10;
%Espectro de potencias:
nFFT=1024;
LongVentana= nFFT/4;
Solapamiento =LongVentana/2;
% Espectro de la BB:
[P_welch_BB_con_mod,F_welch_BB_con_mod] = pwelch(onda_modulada,LongVentana,Solapamiento,nFFT,Fs);
informacion_dos=P_welch_BB_con_mod;
%---------------------------------------------------------------------------------------------------------
%Archivo 3
[y_original,Fs,Nbits,Format] = wavread('Pinguinos');
% sound(y_original,Fs)
%extraemos 1 solo canal y a鎙dimos un DC de 0.3:
canal_izquierdo_original=y_original(:,1)+0.3;
BB = canal_izquierdo_original;
% Filtramos para evitar posibles complicaciones en aliassing:
Fmax=Fs/2;
orden = 40;
wn = 5000/ Fmax; % al variar, dio 5000 que nos deja oir sin alteraciones
b = fir1(orden,wn,'low');
BB_filt=filter(b,1,BB);
informacion = BB;
inf_size = size(informacion)
% Portadora:
fc= 12000;
t= 0:1/Fs:(length(canal_izquierdo_original)-1)/Fs;
portadora = cos(2*pi*fc*t); % La portadora.
port_size= size(portadora) % 1x151
% MODULACI粍 EN AM: MULTIPLICACI粍 DE DOS SE哻LES.
onda_modulada = informacion .* portadora'; %transpuesta para que sean de la misma dimensi鏮
Fc_10 = 12000; % Carrier frequency in Hz
mod_10 = onda_modulada;
% Para los filtros pasa banda:
Fmax=Fs/2;
orden = 20;
% Filtramos espectro INFERIOR desde Fc_10-5000 hasta Fc_10:
wn_inf_10 = [Fc_10-6000 Fc_10]/ Fmax;
% Filtramos espectro SUPERIOR desde Fc_10 hasta Fc_10 + 5000:
wn_sup_10 = [Fc_10 Fc_10+6000]/ Fmax;
% Filtramos espectro INFERIOR M糜 SUPERIOR desde Fc_10-5000 hasta Fc_10 + 5000:
wn_inf_sup_10 = [Fc_10-6000 Fc_10+6000]/ Fmax;
% Coeficientes:
[b_inf_10,a_inf_10]= butter(orden,wn_inf_10);
[b_sup_10,a_sup_10]= butter(orden,wn_sup_10);
[b_inf_sup_10,a_inf_sup_10]= butter(orden,wn_inf_sup_10);
% filtramos:
mod_inf_filt_10=filter(b_inf_10,a_inf_10,onda_modulada);
mod_sup_filt_10=filter(b_sup_10,a_sup_10,onda_modulada);
mod_inf_sup_filt_10=filter(b_inf_sup_10,a_inf_sup_10,onda_modulada);
% amplificamos:
mod_inf_filt_amp_10=2*mod_inf_filt_10;
mod_sup_filt_amp_10=2*mod_sup_filt_10;
mod_inf_sup_filt_amp_10=2*mod_inf_sup_filt_10;
%Espectro de potencias:
nFFT=1024;
LongVentana= nFFT/4;
Solapamiento =LongVentana/2;
% Espectro de la BB:
[P_welch_BB_con_mod,F_welch_BB_con_mod] = pwelch(onda_modulada,LongVentana,Solapamiento,nFFT,Fs);
informacion_tres=P_welch_BB_con_mod;
informacion_total=informacion_uno+informacion_dos+informacion_tres;
plot(F_welch_BB_con_mod,informacion_total,'b')
%--------------------------------------------------------------------------
%FILTRANDO SE哻LES Y RECUPERANDO
% ----------------------------------------
% % Para los filtros pasa banda:
%
% % filtramos:
% recuperacion_music1=filter(4000,5000,informacion_total);
% recuperacion_music2=filter(8000,9000,informacion_total);
% recuperacion_music3=filter(12000,12500,informacion_total);
% % amplificamos:
% recuperacion_music1_amp=2*recuperacion_music1;
% recuperacion_music2_amp=2*recuperacion_music2;
% recuperacion_music3_amp=2*recuperacion_music3;
%
% figure
% subplot(3,1,1)
% plot(recuperacion_music1_amp,'b')
% subplot(3,1,2)
% plot(recuperacion_music2_amp,'y')
% subplot(3,1,3)
% plot(recuperacion_music3_amp,'k')
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
FDM.rar (1个子文件)
FDM.m 7KB
共 1 条
- 1
资源评论
御道御小黑
- 粉丝: 74
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功