日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )

發布時間:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、Matlab 卷積和多項式乘法 conv 函數
  • 二、使用 matlab 代碼求卷積并繪圖





一、Matlab 卷積和多項式乘法 conv 函數



Matlab 文檔地址 : https://ww2.mathworks.cn/help/matlab/ref/conv.html

函數語法 :

// 返回向量 u 和 v 的卷積。如果 u 和 v 是多項式系數的向量,對其卷積與將這兩個多項式相乘等效。 w = conv(u,v) // 返回如 shape 指定的卷積的分段。 // 例如,conv(u,v,'same') 僅返回與 u 等大小的卷積的中心部分, // 而 conv(u,v,'valid') 僅返回計算的沒有補零邊緣的卷積部分。 w = conv(u,v,shape)

uuu 是 " 輸入序列 " , vvv 是 " 單位脈沖響應 " ;





二、使用 matlab 代碼求卷積并繪圖



求下面的 " 線性時不變系統 " 的 輸出序列 ;


輸入序列 : x(n)=sin(2πf0n/Fs),0≤n≤127x(n) = sin(2\pi f_0n/F_s) , \ 0 \leq n \leq 127x(n)=sin(2πf0?n/Fs?),?0n127 ,

f0=0.4kHz,Fs=10kHzf_0 = 0.4kHz , F_s = 10kHzf0?=0.4kHz,Fs?=10kHz


單位脈沖響應 :

h(n)={1,2,3,4,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3,2,1}h(n) = \{ 1,2,3,4,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3,2,1 \}h(n)={1,2,3,4,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3,2,1}


上述系統的輸出就是 " 輸入序列 " 與 " 輸出序列 " 的卷積 ;


參考 【數字信號處理】基本序列 ( 正弦序列 | 數字角頻率 ω | 模擬角頻率 Ω | 數字頻率 f | 模擬頻率 f0 | 采樣頻率 Fs | 采樣周期 T ) 博客進行理解 ;


f0=0.4kHzf_0 = 0.4kHzf0?=0.4kHz 表示模擬信號頻率是 0.4kHz0.4kHz0.4kHz ,

Fs=10kHzF_s = 10kHzFs?=10kHz 表示數字采樣頻率是每秒采集 10k10k10k 個樣本 , 也就是 100001000010000 個樣本 ;

x(n)x(n)x(n) 默認是一個無限序列 , 為了方便計算 , 這里為其加了一個區間 0≤n≤1270 \leq n \leq 1270n127 ;


數字頻率計算 :

數字頻率 ( 單位 Hz ) : f=f0/Fs=0.4/10=0.04f = f_0 / F_s = 0.4 / 10 = 0.04f=f0?/Fs?=0.4/10=0.04


matlab 代碼示例 :

%清除內存 clear;%輸入序列 , 模擬信號頻率 0.4kHz , 采樣頻率 10kHz % n 的取值范圍是 0127 閉區間整數序列 x=sin(2 * pi * 0.4 * (0:127) / 10);%單位脈沖響應 %1,2,3,4,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3,2,1 %1 ~ 10 索引的序列就是 1,2,3,4,5,6,7,8,9,10 h(1:10)=(1:10); %11 索引的序列是 11 h(11)=11; %12 ~ 21 索引的序列是 10,9,8,7,6,5,4,3,2,1 h(12:21)=(10:-1:1);%" 單位脈沖響應 " 序列的頻譜 hf = freqz(h, 1, 1024); %" 輸入序列 " 的頻譜 xf = freqz(x, 1, 1024);%求卷積 , 線性時不變系統的輸出序列就是 輸入序列 與 單位脈沖響應 之間的卷積 y=conv(h,x);%建立幕布 figure; %繪制 "輸入序列" 圖像 plot(x);%建立幕布 figure; %繪制 "單位脈沖響應" 圖像 plot(h);%建立幕布 figure; %繪制 y 函數的值 , 也就是卷積計算結果 plot(y);% 打開網格 grid on;

輸入序列 x(n)x(n)x(n) 的函數圖像如下 :

單位脈沖響應 h(n)h(n)h(n) 函數圖像如下 :

輸出序列 y(n)y(n)y(n) 圖像如下 :

總結

以上是生活随笔為你收集整理的【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。