matlab生成.mif文件 产生正弦信号数据

您所在的位置:网站首页 编写一个matlab程序生成正弦序列 matlab生成.mif文件 产生正弦信号数据

matlab生成.mif文件 产生正弦信号数据

2023-07-26 05:55| 来源: 网络整理| 查看: 265

matlab生成.mif文件 产生正弦信号数据 设计说明

很多EDA软件都需要.mif文件,比如使用Quartus 调用ROM IP核产生一个正弦波就需要对ROM IP核加载.mif文件,然后从.mif文件中读取数据产生正弦波。接下来就说一下如何用MATLAB生成.mif文件和如何产生正弦波数据吧。

设计方法

产生.mif文件其实很简单整体思路就是使用MATLAB 中fprintf函数根据.mif文件的格式一句一句打印出来具体MATLAB代码如下图所示。主要是如何生成正弦波数据,因为一个普通的正弦信号周期是2* pi。而本设计深度为256,也就是需要把2* pi分为256份也就是sin(2* pi* (x-1)/256) 。因为数据位宽为8位,所表示的数据在0-255之间。所以需要将sin(2* pi* (x-1)/256)的幅值从-1到+1变化到0到255。也就是128* sin(2* pi* (x-1)/256)+128)。乘以128,幅值变化到-128到+128然后在加上128,范围就变到了0到256了。

MATLAB生成.mif文件代码 clc; clear; depth =256; %存储器的深度 widths = 8; %数据宽度为8位 N = 0 :255; %把一个周期的正弦信号分为256份 s =sin(2*pi *N/256); %计算0 ~2*pi之间的sin值 qqq = fopen('sine.mif','wt') %使用fopen函数生成sine.mif fprintf(qqq, 'depth = %d;\n',depth); %使用fprintf打印depth = 256; fprintf(qqq, 'width = %d;\n',widths); %使用fprintf打印width = 8; fprintf(qqq, 'address_radix = UNS;\n'); %使用fprintf打印address_radix = UNS; 表示无符号显示数据 fprintf(qqq,'data_radix = UNS;\n'); %使用fprintf打印data_radix = UNS; 表示无符号显示数据 fprintf(qqq,'content begin\n'); %使用fprintf打印content begin for(x = 1 : depth) %产生正弦数据 fprintf(qqq,'%d:%d;\n',x-1,round(128*sin(2*pi*(x-1)/256)+128)); end fprintf(qqq, 'end;'); %使用fprintf打印end; fclose(qqq);

在运行完上面一段代码后也就在同一文件夹下生成了一个sine.mif文件如下图所示

在这里插入图片描述

生成的.mif文件如下 depth = 256; width = 8; address_radix = UNS; data_radix = UNS; content begin 0:128; 1:131; 2:134; 3:137; 4:141; 5:144; 6:147; 7:150; 8:153; 9:156; 10:159; 11:162; 12:165; 13:168; 14:171; 15:174; 16:177; 17:180; 18:183; 19:186; 20:188; 21:191; 22:194; 23:196; 24:199; 25:202; 26:204; 27:207; 28:209; 29:212; 30:214; 31:216; 32:219; 33:221; 34:223; 35:225; 36:227; 37:229; 38:231; 39:233; 40:234; 41:236; 42:238; 43:239; 44:241; 45:242; 46:244; 47:245; 48:246; 49:247; 50:249; 51:250; 52:250; 53:251; 54:252; 55:253; 56:254; 57:254; 58:255; 59:255; 60:255; 61:256; 62:256; 63:256; 64:256; 65:256; 66:256; 67:256; 68:255; 69:255; 70:255; 71:254; 72:254; 73:253; 74:252; 75:251; 76:250; 77:250; 78:249; 79:247; 80:246; 81:245; 82:244; 83:242; 84:241; 85:239; 86:238; 87:236; 88:234; 89:233; 90:231; 91:229; 92:227; 93:225; 94:223; 95:221; 96:219; 97:216; 98:214; 99:212; 100:209; 101:207; 102:204; 103:202; 104:199; 105:196; 106:194; 107:191; 108:188; 109:186; 110:183; 111:180; 112:177; 113:174; 114:171; 115:168; 116:165; 117:162; 118:159; 119:156; 120:153; 121:150; 122:147; 123:144; 124:141; 125:137; 126:134; 127:131; 128:128; 129:125; 130:122; 131:119; 132:115; 133:112; 134:109; 135:106; 136:103; 137:100; 138:97; 139:94; 140:91; 141:88; 142:85; 143:82; 144:79; 145:76; 146:73; 147:70; 148:68; 149:65; 150:62; 151:60; 152:57; 153:54; 154:52; 155:49; 156:47; 157:44; 158:42; 159:40; 160:37; 161:35; 162:33; 163:31; 164:29; 165:27; 166:25; 167:23; 168:22; 169:20; 170:18; 171:17; 172:15; 173:14; 174:12; 175:11; 176:10; 177:9; 178:7; 179:6; 180:6; 181:5; 182:4; 183:3; 184:2; 185:2; 186:1; 187:1; 188:1; 189:0; 190:0; 191:0; 192:0; 193:0; 194:0; 195:0; 196:1; 197:1; 198:1; 199:2; 200:2; 201:3; 202:4; 203:5; 204:6; 205:6; 206:7; 207:9; 208:10; 209:11; 210:12; 211:14; 212:15; 213:17; 214:18; 215:20; 216:22; 217:23; 218:25; 219:27; 220:29; 221:31; 222:33; 223:35; 224:37; 225:40; 226:42; 227:44; 228:47; 229:49; 230:52; 231:54; 232:57; 233:60; 234:62; 235:65; 236:68; 237:70; 238:73; 239:76; 240:79; 241:82; 242:85; 243:88; 244:91; 245:94; 246:97; 247:100; 248:103; 249:106; 250:109; 251:112; 252:115; 253:119; 254:122; 255:125; end;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3