博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《DSP using MATLAB》Problem 5.32
阅读量:4630 次
发布时间:2019-06-09

本文共 1637 字,大约阅读时间需要 5 分钟。

代码:

function [y] = ovrlpadd_v3(x, h, N)%% Overlap-Add method of block convolution%% ------------------------------------------------------%% [y] = ovrlpadd(x, h, N)%% y = output sequence%% x = input sequence%% h = impulse response%% N = block length >= 2*length(h)-1N = 2^(ceil(log10(N)/log10(2)))  Lx = length(x);                        % ML    L = length(h);                         % length of impulse responseHk_FFT = fft(h, N);M = floor((Lx)/(L))                   % number of bolckY = zeros(1, Lx+N-L)% convolution with successive blocksfor m = 0:M-1	xm = x(m*L+1 : m*L+L);                                     % length is L	XMk_FFT = fft(xm, N);	YMk_FFT = XMk_FFT .* Hk_FFT;	ym = real(ifft(YMk_FFT))                                   % length is 2L-1	%Y(m*L+1 : m*L+(2*L-1)) = Y(m*L+1 : m*L+(2*L-1)) + ym	Y(m*L+1 : m*L+N) = Y(m*L+1 : m*L+N) + ymendy = Y;

  

%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%            Output Info about this m-filefprintf('\n***********************************************************\n');fprintf('        
Problem 5.32 \n\n');banner();%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++% -------------------------------------------------------------% Overlap-Add % -------------------------------------------------------------n1 = [0:8-1];x1 = cos(pi*n1/500);N1 = length(x1);nh = [0:3]; h = [1, -1, 1, -1]; L = length(h);M = N1/L;N = 2*L-1; y = ovrlpadd_v3(x1, h, N); % FFT

  运行结果:

       原题中x(n)长4000,不好看图说明,这里假设长度只有8,便于上图说明道理。

 

转载于:https://www.cnblogs.com/ky027wh-sx/p/9484143.html

你可能感兴趣的文章
Android UI体验之全屏沉浸式透明状态栏效果
查看>>
STM32普通定时器(TIM2-7)的时钟源
查看>>
单相计量芯片RN8209D使用经验分享(转)
查看>>
SD卡的控制方法(指令集和控制时序)
查看>>
zabbix4.0构建实录
查看>>
javascript保留字
查看>>
assert
查看>>
openstack安装在虚拟机上重启之后无法启动问题
查看>>
Bulk_Collect_Performance 比较
查看>>
类于对象
查看>>
灵活性是原则性基础上的灵活
查看>>
python 添加进度条
查看>>
恢复Opera11.50地址栏的下拉列表按钮
查看>>
EBS上用过的一些接口表整理信息
查看>>
ldconfig
查看>>
操作系统简介
查看>>
查看Linux系统中某目录的大小
查看>>
Git远程仓库地址变更
查看>>
PAT_B_1027 打印沙漏
查看>>
POJ-1185 炮兵阵地 动态规划+状态压缩
查看>>